Class AbstractSqmPath<T>
java.lang.Object
org.hibernate.query.sqm.tree.AbstractSqmNode
org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement<T>
org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection<T>
org.hibernate.query.sqm.tree.expression.AbstractSqmExpression<T>
org.hibernate.query.sqm.tree.domain.AbstractSqmPath<T>
- All Implemented Interfaces:
Expression<T>, Path<T>, Selection<T>, TupleElement<T>, Serializable, JpaCriteriaNode, JpaExpression<T>, JpaPath<T>, JpaSelection<T>, JpaTupleElement<T>, SemanticPathPart, SqmPath<T>, SqmExpression<T>, SqmSelectableNode<T>, SqmCacheable, SqmExpressibleAccessor<T>, SqmNode, SqmTypedNode<T>, SqmVisitableNode
- Direct Known Subclasses:
AbstractSqmFrom, AbstractSqmSimplePath, AbstractSqmSpecificPluralPartPath, SqmFkExpression, SqmFunctionPath, SqmIndexedCollectionAccessPath
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractSqmPath(NavigablePath navigablePath, SqmPathSource<T> referencedPathSource, SqmPath<?> lhs, NodeBuilder nodeBuilder) -
Method Summary
Modifier and TypeMethodDescriptionintprotected voidcopyTo(AbstractSqmPath<T> target, SqmCopyContext context) booleanget(BooleanAttribute<? super T> attribute) <C extends Comparable<? super C>>
ComparableExpression<C> get(ComparableAttribute<? super T, C> attribute) <K, V, M extends Map<K,V>>
SqmPluralPath<M, V> get(MapAttribute<? super T, K, V> attribute) <N extends Number & Comparable<N>>
SqmNumericPath<N> get(NumericAttribute<? super T, N> attribute) <E, C extends Collection<E>>
SqmPluralPath<C, E> get(PluralAttribute<? super T, C, E> attribute) <Y> SqmPath<Y> get(SingularAttribute<? super T, Y> jpaAttribute) <T1 extends Temporal & Comparable<? super T1>>
TemporalExpression<T1> get(TemporalAttribute<? super T, T1> attribute) get(TextAttribute<? super T> attribute) <Y> SqmPath<Y> SqmPath<?> Same asSqmPath.get(String), but ifincludeSubtypesis set totrueand this path is polymorphic, also try finding subtype attributes.Retrieve the explicit alias, if one.SqmPath<?> getLhs()Get the left-hand side of this path - may be null, indicating a root, cross-join or entity-joingetModel()Returns the NavigablePath.protected NavigablePathgetNavigablePathCopy(SqmPath<?> parent) Utility that checks if this path's parent navigable path is compatible with the specified SQM parent, and if not creates a copy of the navigable path with the correct parent.The Java type descriptor for this node.The expression's type.The path source that this path refers to (and that most likely created it).Get this path's actual resolved model, i.e.SqmPath<?> getReusablePath(String name) Returns an immutable List of reusable pathsprotected <S extends T>
SqmTreatedPath<T, S> getTreatedPath(ManagedDomainType<S> treatTarget) inthashCode()booleanisCompatible(Object object) voidregisterReusablePath(SqmPath<?> path) Register a reusable path relative to this pathprotected <X> SqmPath<X> resolvePath(String attributeName, SqmPathSource<X> pathSource) protected <X> SqmPath<X> resolvePath(PersistentAttribute<?, X> attribute) voidsetExplicitAlias(String explicitAlias) Set the explicit alias for this pathtoString()<S extends T>
SqmTreatedPath<T, S> Support for JPA's explicit (TREAT) down-casting.<S extends T>
SqmTreatedPath<T, S> <S extends T>
SqmTreatedPath<T, S> <S extends T>
SqmTreatedPath<T, S> treatAs(EntityDomainType<S> treatTarget) Support for JPA's explicit (TREAT) down-casting.<S extends T>
SqmTreatedPath<T, S> treatAs(EntityDomainType<S> treatTarget, String alias) <S extends T>
SqmTreatedPath<T, S> treatAs(EntityDomainType<S> treatTarget, String alias, boolean fetch) SqmExpression<Class<? extends T>> type()voidvisitReusablePaths(Consumer<SqmPath<?>> consumer) Visit each reusable path relative to this pathMethods inherited from class AbstractSqmExpression
applyInferableType, as, cast, coalesce, coalesce, count, countDistinct, equalTo, equalTo, in, in, in, in, in, internalApplyInferableType, isMember, isNotMember, isNotNull, isNull, nodeBuilder, notEqualTo, notEqualTo, nullif, nullif, selectCase, selectCaseMethods inherited from class AbstractJpaSelection
alias, getSelectionItems, isCompoundSelectionMethods inherited from class AbstractJpaTupleElement
copyTo, getAlias, setAlias, setExpressibleTypeMethods inherited from interface JpaExpression
coalesce, coalesce, count, countDistinct, in, isMember, isNotMember, nullif, nullif, selectCase, selectCaseMethods inherited from interface JpaPath
getParentPath, treatMethods inherited from interface JpaSelection
alias, getCompoundSelectionItems, getSelectionItemsMethods inherited from interface JpaTupleElement
getJavaType, getJavaTypeName, isEnumMethods inherited from interface Selection
isCompoundSelectionMethods inherited from interface SqmExpression
as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, cast, castAs, equalTo, equalTo, in, in, in, in, isNotNull, isNull, notEqualTo, notEqualTo, visitSubSelectableNodesMethods inherited from interface SqmNode
asLoggableText, nodeBuilderMethods inherited from interface SqmPath
applyInferableType, copy, findRoot, resolveIndexedAccess, resolvePathPartMethods inherited from interface SqmSelectableNode
getTupleLengthMethods inherited from interface SqmVisitableNode
accept, appendHqlString, toHqlStringMethods inherited from interface TupleElement
getAlias
-
Constructor Details
-
Method Details
-
copyTo
-
getNodeType
Description copied from interface:SqmExpressionThe expression's type.Can change as a result of calls to
SqmExpression.applyInferableType(SqmBindableType)- Specified by:
getNodeTypein interfaceSqmExpression<T>- Specified by:
getNodeTypein interfaceSqmPath<T>- Specified by:
getNodeTypein interfaceSqmTypedNode<T>- Overrides:
getNodeTypein classAbstractJpaTupleElement<T>
-
getReferencedPathSource
Description copied from interface:SqmPathThe path source that this path refers to (and that most likely created it).- Specified by:
getReferencedPathSourcein interfaceSqmPath<T>- See Also:
-
getLhs
-
getReusablePaths
-
visitReusablePaths
-
registerReusablePath
Description copied from interface:SqmPathRegister a reusable path relative to this path- Specified by:
registerReusablePathin interfaceSqmPath<T>
-
getReusablePath
-
getExplicitAlias
-
setExplicitAlias
-
getModel
-
getResolvedModel
Description copied from interface:SqmPathGet this path's actual resolved model, i.e. the concrete type for generic attributes.- Specified by:
getResolvedModelin interfaceSqmPath<T>
-
getExpressible
- Specified by:
getExpressiblein interfaceSqmExpressibleAccessor<T>- Specified by:
getExpressiblein interfaceSqmTypedNode<T>
-
getJavaTypeDescriptor
- Specified by:
getJavaTypeDescriptorin interfaceJpaTupleElement<T>- Specified by:
getJavaTypeDescriptorin interfaceSqmPath<T>- Overrides:
getJavaTypeDescriptorin classAbstractSqmExpression<T>
-
getNodeJavaType
Description copied from interface:SqmTypedNodeThe Java type descriptor for this node.- Specified by:
getNodeJavaTypein interfaceSqmExpressibleAccessor<T>- Specified by:
getNodeJavaTypein interfaceSqmTypedNode<T>
-
type
-
get
-
get
-
resolvePath
-
resolvePath
-
getTreatedPath
-
treatAs
-
treatAs
-
treatAs
-
treatAs
-
treatAs
-
treatAs
-
get
-
get
@Nonnull public <E, C extends Collection<E>> SqmPluralPath<C,E> get(@Nonnull PluralAttribute<? super T, C, E> attribute) -
get
-
get
@Nonnull public <C extends Comparable<? super C>> ComparableExpression<C> get(@Nonnull ComparableAttribute<? super T, C> attribute) -
get
-
get
@Nonnull public <T1 extends Temporal & Comparable<? super T1>> TemporalExpression<T1> get(@Nonnull TemporalAttribute<? super T, T1> attribute) -
get
@Nonnull public <N extends Number & Comparable<N>> SqmNumericPath<N> get(@Nonnull NumericAttribute<? super T, N> attribute) -
get
-
equals
-
hashCode
-
isCompatible
- Specified by:
isCompatiblein interfaceSqmCacheable
-
cacheHashCode
public int cacheHashCode()- Specified by:
cacheHashCodein interfaceSqmCacheable
-
toString
-