Class SqmDynamicInstantiation<T>
java.lang.Object
org.hibernate.query.sqm.tree.spi.AbstractSqmNode
org.hibernate.query.sqm.tree.spi.jpa.AbstractJpaTupleElement<T>
org.hibernate.query.sqm.tree.spi.jpa.AbstractJpaSelection<T>
org.hibernate.query.sqm.tree.spi.select.SqmDynamicInstantiation<T>
- All Implemented Interfaces:
CompoundSelection<T>, Selection<T>, TupleElement<T>, Serializable, JpaCompoundSelection<T>, JpaCriteriaNode, JpaSelection<T>, JpaTupleElement<T>, SqmAliasedExpressionContainer<SqmDynamicInstantiationArgument<?>>, SqmSelectableNode<T>, SqmCacheable, SqmExpressibleAccessor<T>, SqmNode, SqmTypedNode<T>, SqmVisitableNode
public class SqmDynamicInstantiation<T>
extends AbstractJpaSelection<T>
implements SqmSelectableNode<T>, SqmAliasedExpressionContainer<SqmDynamicInstantiationArgument<?>>, JpaCompoundSelection<T>
Represents a dynamic instantiation (
select new XYZ(...) ...) as part of the SQM.- See Also:
-
Method Summary
Modifier and TypeMethodDescription<X> Xaccept(SemanticQueryWalker<X> walker) Accept the walker per visitationadd(SqmExpression<?> expression, String alias) voidadd(SqmDynamicInstantiationArgument<?> aliasExpression) voidaddArgument(SqmDynamicInstantiationArgument<?> argument) voidappendHqlString(StringBuilder hql, SqmRenderContext context) intbooleancheckInstantiation(TypeConfiguration typeConfiguration) static <R> SqmDynamicInstantiation<R> classInstantiation(Class<R> targetJavaType, List<? extends SqmSelectableNode<?>> arguments, NodeBuilder nodeBuilder) copy(SqmCopyContext context) booleanstatic <R> SqmDynamicInstantiation<R> forClassInstantiation(JavaType<R> targetJavaType, NodeBuilder nodeBuilder) static <L extends List<?>>
SqmDynamicInstantiation<L> forListInstantiation(JavaType<L> listJavaType, NodeBuilder nodeBuilder) static <M extends Map<?,?>>
SqmDynamicInstantiation<M> forMapInstantiation(JavaType<M> mapJavaType, NodeBuilder nodeBuilder) Return the Java type of this tuple element.The Java type descriptor for this node.Return the items of this selection.inthashCode()booleanisCompatible(Object object) booleanstatic <L extends List<?>>
SqmDynamicInstantiation<L> listInstantiation(List<? extends SqmSelectableNode<?>> arguments, NodeBuilder nodeBuilder) static <M extends Map<?,?>>
SqmDynamicInstantiation<M> mapInstantiation(List<? extends SqmSelectableNode<?>> arguments, NodeBuilder nodeBuilder) voidvisitSubSelectableNodes(Consumer<SqmSelectableNode<?>> consumer) Visit each of this selectable's direct sub-selectables - used to support JPA'sSelectionmodel (which is really a "selectable", just poorly named and poorly definedMethods inherited from class AbstractJpaSelection
alias, isCompoundSelectionMethods inherited from class AbstractJpaTupleElement
copyTo, getAlias, getNodeType, setAlias, setExpressibleTypeMethods inherited from class AbstractSqmNode
nodeBuilderMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface JpaSelection
alias, getCompoundSelectionItemsMethods inherited from interface JpaTupleElement
getJavaType, getJavaTypeIfKnown, getJavaTypeName, isEnumMethods inherited from interface Selection
isCompoundSelectionMethods inherited from interface SqmNode
nodeBuilderMethods inherited from interface SqmSelectableNode
getTupleLengthMethods inherited from interface SqmTypedNode
getExpressible, getNodeTypeMethods inherited from interface SqmVisitableNode
toHqlStringMethods inherited from interface TupleElement
getAlias
-
Method Details
-
forClassInstantiation
@Nonnull public static <R> SqmDynamicInstantiation<R> forClassInstantiation(@Nonnull JavaType<R> targetJavaType, @Nonnull NodeBuilder nodeBuilder) -
classInstantiation
@Nonnull public static <R> SqmDynamicInstantiation<R> classInstantiation(@Nonnull Class<R> targetJavaType, @Nonnull List<? extends SqmSelectableNode<?>> arguments, @Nonnull NodeBuilder nodeBuilder) -
forMapInstantiation
@Nonnull public static <M extends Map<?,?>> SqmDynamicInstantiation<M> forMapInstantiation(@Nonnull JavaType<M> mapJavaType, @Nonnull NodeBuilder nodeBuilder) -
mapInstantiation
@Nonnull public static <M extends Map<?,?>> SqmDynamicInstantiation<M> mapInstantiation(@Nonnull List<? extends SqmSelectableNode<?>> arguments, @Nonnull NodeBuilder nodeBuilder) -
forListInstantiation
@Nonnull public static <L extends List<?>> SqmDynamicInstantiation<L> forListInstantiation(@Nonnull JavaType<L> listJavaType, @Nonnull NodeBuilder nodeBuilder) -
listInstantiation
@Nonnull public static <L extends List<?>> SqmDynamicInstantiation<L> listInstantiation(@Nonnull List<? extends SqmSelectableNode<?>> arguments, @Nonnull NodeBuilder nodeBuilder) -
checkInstantiation
-
isFullyAliased
public boolean isFullyAliased() -
copy
- Specified by:
copyin interfaceSqmNode- Specified by:
copyin interfaceSqmSelectableNode<T>- Specified by:
copyin interfaceSqmTypedNode<T>
-
getInstantiationTarget
-
getArguments
-
getJavaTypeDescriptor
Description copied from interface:JpaTupleElementReturn the Java type of this tuple element.- Specified by:
getJavaTypeDescriptorin interfaceJpaTupleElement<T>
-
asLoggableText
- Specified by:
asLoggableTextin interfaceSqmNode
-
addArgument
-
add
@Nonnull public SqmDynamicInstantiationArgument<?> add(@Nonnull SqmExpression<?> expression, @Nullable String alias) - Specified by:
addin interfaceSqmAliasedExpressionContainer<T>
-
add
- Specified by:
addin interfaceSqmAliasedExpressionContainer<T>
-
accept
Description copied from interface:SqmVisitableNodeAccept the walker per visitation- Specified by:
acceptin interfaceSqmVisitableNode
-
appendHqlString
- Specified by:
appendHqlStringin interfaceSqmVisitableNode
-
equals
-
hashCode
-
isCompatible
- Specified by:
isCompatiblein interfaceSqmCacheable
-
cacheHashCode
public int cacheHashCode()- Specified by:
cacheHashCodein interfaceSqmCacheable
-
makeShallowCopy
-
getNodeJavaType
Description copied from interface:SqmTypedNodeThe Java type descriptor for this node.- Specified by:
getNodeJavaTypein interfaceSqmExpressibleAccessor<T>- Specified by:
getNodeJavaTypein interfaceSqmTypedNode<T>
-
visitSubSelectableNodes
Description copied from interface:SqmSelectableNodeVisit each of this selectable's direct sub-selectables - used to support JPA'sSelectionmodel (which is really a "selectable", just poorly named and poorly defined- Specified by:
visitSubSelectableNodesin interfaceSqmSelectableNode<T>- See Also:
-
getSelectionItems
Description copied from interface:JpaSelectionReturn the items of this selection.- Specified by:
getSelectionItemsin interfaceJpaSelection<T>- Overrides:
getSelectionItemsin classAbstractJpaSelection<T>
-