Top Description Inners Fields Constructors Methods
org.hibernate.query.sqm.tree.select

public Class SqmDynamicInstantiation<T>

extends AbstractJpaSelection<T>
implements SqmSelectableNode<T>, SqmAliasedExpressionContainer<SqmDynamicInstantiationArgument<?>>, JpaCompoundSelection<T>
Class Inheritance
All Implemented Interfaces
org.hibernate.query.criteria.JpaCompoundSelection, jakarta.persistence.criteria.CompoundSelection, jakarta.persistence.criteria.Selection, jakarta.persistence.TupleElement, org.hibernate.query.criteria.JpaSelection, org.hibernate.query.criteria.JpaTupleElement, org.hibernate.query.criteria.JpaCriteriaNode, java.io.Serializable, org.hibernate.query.sqm.tree.select.SqmAliasedExpressionContainer, org.hibernate.query.sqm.tree.select.SqmSelectableNode, org.hibernate.query.sqm.tree.SqmTypedNode, org.hibernate.query.sqm.tree.SqmVisitableNode, org.hibernate.query.sqm.tree.SqmNode, org.hibernate.query.sqm.tree.SqmExpressibleAccessor
Imports
java.util.ArrayList, .List, .Map, java.util.function.Consumer, org.hibernate.metamodel.model.domain.DomainType, org.hibernate.query.sqm.DynamicInstantiationNature, .NodeBuilder, .SemanticQueryWalker, .SqmExpressible, org.hibernate.query.criteria.JpaCompoundSelection, org.hibernate.query.sqm.tree.SqmCopyContext, org.hibernate.query.sqm.tree.expression.SqmExpression, org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection, org.hibernate.type.descriptor.java.JavaType, org.jboss.logging.Logger

Represents a dynamic instantiation (select new XYZ(...) ...) as part of the SQM.
Author
Steve Ebersole

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private List<SqmDynamicInstantiationArgument<?>>
private final SqmDynamicInstantiationTarget<T>
private static final Logger

Constructor Summary

AccessConstructor and Description
private
private
SqmDynamicInstantiation(SqmExpressible<T> sqmExpressible, NodeBuilder criteriaBuilder, SqmDynamicInstantiationTarget<T> instantiationTarget, List<SqmDynamicInstantiationArgument<?>> arguments)

Method Summary

Modifier and TypeMethod and Description
public <X> X
accept(SemanticQueryWalker<X> walker)

Implements org.hibernate.query.sqm.tree.SqmVisitableNode.accept.

Accept the walker per visitation
public SqmDynamicInstantiationArgument<?>
public void
public void
public void
public String
public SqmDynamicInstantiation<T>
public static <R> SqmDynamicInstantiation<R>
forClassInstantiation(JavaType<R> targetJavaType, NodeBuilder nodeBuilder)

public static <R> SqmDynamicInstantiation<R>
forClassInstantiation(Class<R> targetJavaType, NodeBuilder nodeBuilder)

public static <L extends List<?>> SqmDynamicInstantiation<L>
forListInstantiation(JavaType<L> listJavaType, NodeBuilder nodeBuilder)

public static <L extends List<?>> SqmDynamicInstantiation<L>
public static <M extends Map<?, ?>> SqmDynamicInstantiation<M>
forMapInstantiation(JavaType<M> mapJavaType, NodeBuilder nodeBuilder)

public static <M extends Map<?, ?>> SqmDynamicInstantiation<M>
public List<SqmDynamicInstantiationArgument<?>>
public SqmDynamicInstantiationTarget<T>
public JavaType<T>
public List<SqmSelectableNode<?>>
public boolean
public SqmDynamicInstantiation<T>
public void
visitSubSelectableNodes(Consumer<SqmSelectableNode<?>> consumer)

Implements org.hibernate.query.sqm.tree.select.SqmSelectableNode.visitSubSelectableNodes.

Visit each of this selectable's direct sub-selectables - used to support JPA's Selection model (which is really a "selectable", just poorly named and poorly defined
Inherited from org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection:
alias

Field Detail

argumentsback to summary
private List<SqmDynamicInstantiationArgument<?>> arguments
instantiationTargetback to summary
private final SqmDynamicInstantiationTarget<T> instantiationTarget
logback to summary
private static final Logger log

Hides org.hibernate.query.sqm.tree.SqmNode.log.

Constructor Detail

SqmDynamicInstantiationback to summary
private SqmDynamicInstantiation(SqmDynamicInstantiationTarget<T> instantiationTarget, NodeBuilder nodeBuilder)
SqmDynamicInstantiationback to summary
private SqmDynamicInstantiation(SqmExpressible<T> sqmExpressible, NodeBuilder criteriaBuilder, SqmDynamicInstantiationTarget<T> instantiationTarget, List<SqmDynamicInstantiationArgument<?>> arguments)

Method Detail

acceptback to summary
public <X> X accept(SemanticQueryWalker<X> walker)

Implements org.hibernate.query.sqm.tree.SqmVisitableNode.accept.

Doc from org.hibernate.query.sqm.tree.SqmVisitableNode.accept.

Accept the walker per visitation

Annotations
@Override
addback to summary
public SqmDynamicInstantiationArgument<?> add(SqmExpression<?> expression, String alias)

Implements org.hibernate.query.sqm.tree.select.SqmAliasedExpressionContainer.add.

Annotations
@Override
addback to summary
public void add(SqmDynamicInstantiationArgument<?> aliasExpression)

Implements org.hibernate.query.sqm.tree.select.SqmAliasedExpressionContainer.add.

Annotations
@Override
addArgumentback to summary
public void addArgument(SqmDynamicInstantiationArgument<?> argument)
appendHqlStringback to summary
public void appendHqlString(StringBuilder sb)

Implements org.hibernate.query.sqm.tree.SqmVisitableNode.appendHqlString.

Annotations
@Override
asLoggableTextback to summary
public String asLoggableText()

Overrides default org.hibernate.query.sqm.tree.SqmNode.asLoggableText.

Annotations
@Override
copyback to summary
public SqmDynamicInstantiation<T> copy(SqmCopyContext context)

Implements org.hibernate.query.sqm.tree.select.SqmSelectableNode.copy, org.hibernate.query.sqm.tree.SqmNode.copy.

Annotations
@Override
forClassInstantiationback to summary
public static <R> SqmDynamicInstantiation<R> forClassInstantiation(JavaType<R> targetJavaType, NodeBuilder nodeBuilder)
forClassInstantiationback to summary
public static <R> SqmDynamicInstantiation<R> forClassInstantiation(Class<R> targetJavaType, NodeBuilder nodeBuilder)
forListInstantiationback to summary
public static <L extends List<?>> SqmDynamicInstantiation<L> forListInstantiation(JavaType<L> listJavaType, NodeBuilder nodeBuilder)
forListInstantiationback to summary
public static <L extends List<?>> SqmDynamicInstantiation<L> forListInstantiation(NodeBuilder nodeBuilder)
forMapInstantiationback to summary
public static <M extends Map<?, ?>> SqmDynamicInstantiation<M> forMapInstantiation(JavaType<M> mapJavaType, NodeBuilder nodeBuilder)
forMapInstantiationback to summary
public static <M extends Map<?, ?>> SqmDynamicInstantiation<M> forMapInstantiation(NodeBuilder nodeBuilder)
getArgumentsback to summary
public List<SqmDynamicInstantiationArgument<?>> getArguments()
getInstantiationTargetback to summary
public SqmDynamicInstantiationTarget<T> getInstantiationTarget()
getJavaTypeDescriptorback to summary
public JavaType<T> getJavaTypeDescriptor()

Implements org.hibernate.query.criteria.JpaTupleElement.getJavaTypeDescriptor.

Annotations
@Override
getSelectionItemsback to summary
public List<SqmSelectableNode<?>> getSelectionItems()

Overrides org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection.getSelectionItems.

Implements org.hibernate.query.criteria.JpaSelection.getSelectionItems.

Annotations
@Override
isCompoundSelectionback to summary
public boolean isCompoundSelection()

Overrides org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection.isCompoundSelection.

Implements jakarta.persistence.criteria.Selection.isCompoundSelection.

Doc from jakarta.persistence.criteria.Selection.isCompoundSelection.

Whether the selection item is a compound selection.

Returns:boolean

boolean indicating whether the selection is a compound selection

Annotations
@Override
makeShallowCopyback to summary
public SqmDynamicInstantiation<T> makeShallowCopy()
Annotations
@SuppressWarnings:unused
visitSubSelectableNodesback to summary
public void visitSubSelectableNodes(Consumer<SqmSelectableNode<?>> consumer)

Implements org.hibernate.query.sqm.tree.select.SqmSelectableNode.visitSubSelectableNodes.

Doc from org.hibernate.query.sqm.tree.select.SqmSelectableNode.visitSubSelectableNodes.

Visit each of this selectable's direct sub-selectables - used to support JPA's Selection model (which is really a "selectable", just poorly named and poorly defined

Annotations
@Override
org.hibernate.query.sqm.tree.select back to summary

private Class SqmDynamicInstantiation.DynamicInstantiationTargetImpl<T>

extends Object
implements SqmDynamicInstantiationTarget<T>
Class Inheritance
  • java.lang.Object
  • org.hibernate.query.sqm.tree.select.SqmDynamicInstantiation.DynamicInstantiationTargetImpl
All Implemented Interfaces
org.hibernate.query.sqm.tree.select.SqmDynamicInstantiationTarget, org.hibernate.query.sqm.SqmExpressible, org.hibernate.query.BindableType

Field Summary

Modifier and TypeField and Description
private final JavaType<T>
private final DynamicInstantiationNature

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public Class<T>
public JavaType<T>
getExpressibleJavaType()

Implements org.hibernate.query.sqm.SqmExpressible.getExpressibleJavaType.

The Java type descriptor for this expressible
public DynamicInstantiationNature
getNature()

Implements org.hibernate.query.sqm.tree.select.SqmDynamicInstantiationTarget.getNature.

Retrieves the enum describing the nature of this target.
public DomainType<T>
public JavaType<T>
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

javaTypeback to summary
private final JavaType<T> javaType
natureback to summary
private final DynamicInstantiationNature nature

Constructor Detail

DynamicInstantiationTargetImplback to summary
private DynamicInstantiationTargetImpl(DynamicInstantiationNature nature, JavaType<T> javaType)

Method Detail

getBindableJavaTypeback to summary
public Class<T> getBindableJavaType()

Implements org.hibernate.query.BindableType.getBindableJavaType.

Doc from org.hibernate.query.BindableType.getBindableJavaType.

The expected Java type

Annotations
@Override
getExpressibleJavaTypeback to summary
public JavaType<T> getExpressibleJavaType()

Implements org.hibernate.query.sqm.SqmExpressible.getExpressibleJavaType.

Doc from org.hibernate.query.sqm.SqmExpressible.getExpressibleJavaType.

The Java type descriptor for this expressible

Annotations
@Override
getNatureback to summary
public DynamicInstantiationNature getNature()

Implements org.hibernate.query.sqm.tree.select.SqmDynamicInstantiationTarget.getNature.

Doc from org.hibernate.query.sqm.tree.select.SqmDynamicInstantiationTarget.getNature.

Retrieves the enum describing the nature of this target.

Returns:DynamicInstantiationNature

The nature of this target.

Annotations
@Override
getSqmTypeback to summary
public DomainType<T> getSqmType()

Implements org.hibernate.query.sqm.SqmExpressible.getSqmType.

Annotations
@Override
getTargetTypeDescriptorback to summary
public JavaType<T> getTargetTypeDescriptor()

Implements org.hibernate.query.sqm.tree.select.SqmDynamicInstantiationTarget.getTargetTypeDescriptor.

Annotations
@Override