Class SqmPolymorphicRootDescriptor<T>
java.lang.Object
org.hibernate.query.sqm.tree.domain.SqmPolymorphicRootDescriptor<T>
- All Implemented Interfaces:
Bindable<T>
,EntityType<T>
,IdentifiableType<T>
,ManagedType<T>
,Type<T>
,DomainType<T>
,EntityDomainType<T>
,IdentifiableDomainType<T>
,ManagedDomainType<T>
,TreatableDomainType<T>
,BindableType<T>
,SqmExpressible<T>
,SqmPathSource<T>
,SqmExpressibleAccessor<T>
Acts as the
EntityDomainType
for a "polymorphic query" grouping.-
Nested Class Summary
Nested classes/interfaces inherited from interface jakarta.persistence.metamodel.Bindable
Bindable.BindableType
Nested classes/interfaces inherited from interface jakarta.persistence.metamodel.Type
Type.PersistenceType
-
Constructor Summary
ConstructorsConstructorDescriptionSqmPolymorphicRootDescriptor
(JavaType<T> polymorphicJavaType, Set<EntityDomainType<? extends T>> implementors) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addSubType
(ManagedDomainType<? extends T> subType) createSqmPath
(SqmPath<?> lhs, SqmPathSource<?> intermediatePathSource) Create an SQM path for this source relative to the given left hand sidePersistentAttribute<? super T,
?> findAttribute
(String name) PersistentAttribute<? super T,
?> PersistentAttribute<? super T,
?> findDeclaredAttribute
(String name) SingularPersistentAttribute<? super T,
?> List<? extends SingularPersistentAttribute<? super T,
?>> PluralPersistentAttribute<? super T,
?, ?> findPluralAttribute
(String name) SingularPersistentAttribute<? super T,
?> findSingularAttribute
(String name) findSubPathSource
(String name) Find aSqmPathSource
by name relative to this source.PersistentAttribute<?,
?> findSubTypesAttribute
(String name) SingularPersistentAttribute<? super T,
?> PersistentAttribute<? super T,
?> getAttribute
(String name) The expected Java typeCollectionAttribute<? super T,
?> getCollection
(String name) <E> CollectionAttribute<? super T,
E> getCollection
(String name, Class<E> elementType) getDeclaredAttribute
(String name) getDeclaredCollection
(String name) <E> CollectionAttribute<T,
E> getDeclaredCollection
(String name, Class<E> elementType) <Y> SingularPersistentAttribute<T,
Y> getDeclaredId
(Class<Y> type) ListAttribute<T,
?> getDeclaredList
(String name) <E> ListAttribute<T,
E> getDeclaredList
(String name, Class<E> elementType) MapAttribute<T,
?, ?> getDeclaredMap
(String name) <K,
V> MapAttribute<T, K, V> getDeclaredMap
(String name, Class<K> keyType, Class<V> valueType) Set<PluralAttribute<T,
?, ?>> SetAttribute<T,
?> getDeclaredSet
(String name) <E> SetAttribute<T,
E> getDeclaredSet
(String name, Class<E> elementType) <Y> SingularAttribute<T,
Y> getDeclaredSingularAttribute
(String name, Class<Y> type) Set<SingularAttribute<T,
?>> <Y> SingularPersistentAttribute<T,
Y> getDeclaredVersion
(Class<Y> type) The Java type descriptor for this expressible<Y> SingularPersistentAttribute<? super T,
Y> Set<SingularAttribute<? super T,
?>> Set<EntityDomainType<? extends T>>
ListAttribute<? super T,
?> <E> ListAttribute<? super T,
E> MapAttribute<? super T,
?, ?> <K,
V> MapAttribute<? super T, K, V> getName()
The name of this thing.Set<PluralAttribute<? super T,
?, ?>> SetAttribute<? super T,
?> <E> SetAttribute<? super T,
E> SingularAttribute<? super T,
?> getSingularAttribute
(String name) <Y> SingularAttribute<? super T,
Y> getSingularAttribute
(String name, Class<Y> type) Set<SingularAttribute<? super T,
?>> The type of path this source creates.Collection<? extends EntityDomainType<? extends T>>
IdentifiableDomainType<? super T>
ManagedDomainType<? super T>
The descriptor of the supertype of this type.Get the type name.<Y> SingularPersistentAttribute<? super T,
Y> getVersion
(Class<Y> type) boolean
boolean
boolean
void
visitAttributes
(Consumer<? super PersistentAttribute<? super T, ?>> action) void
visitDeclaredAttributes
(Consumer<? super PersistentAttribute<T, ?>> action) void
visitIdClassAttributes
(Consumer<SingularPersistentAttribute<? super T, ?>> action) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.hibernate.metamodel.model.domain.DomainType
getTupleLength
Methods inherited from interface org.hibernate.metamodel.model.domain.EntityDomainType
getSqmType
Methods inherited from interface org.hibernate.query.sqm.SqmExpressible
getRelationalJavaType, isInstance, resolveExpressible
Methods inherited from interface org.hibernate.query.sqm.tree.SqmExpressibleAccessor
getNodeJavaType
Methods inherited from interface org.hibernate.query.sqm.SqmPathSource
findSubPathSource, findSubPathSource, getExpressible, getIntermediatePathSource, getSubPathSource, getSubPathSource, getSubPathSource, isGeneric
-
Constructor Details
-
SqmPolymorphicRootDescriptor
public SqmPolymorphicRootDescriptor(JavaType<T> polymorphicJavaType, Set<EntityDomainType<? extends T>> implementors)
-
-
Method Details
-
getImplementors
-
getName
- Specified by:
getName
in interfaceEntityType<T>
-
getHibernateEntityName
- Specified by:
getHibernateEntityName
in interfaceEntityDomainType<T>
-
getTypeName
Description copied from interface:ManagedDomainType
Get the type name.- Specified by:
getTypeName
in interfaceManagedDomainType<T>
- Specified by:
getTypeName
in interfaceSqmExpressible<T>
- Returns:
- The type name.
- See Also:
-
getPathName
Description copied from interface:SqmPathSource
The name of this thing.- Specified by:
getPathName
in interfaceSqmPathSource<T>
-
getSqmPathType
Description copied from interface:SqmPathSource
The type of path this source creates.- Specified by:
getSqmPathType
in interfaceSqmPathSource<T>
-
getBindableType
- Specified by:
getBindableType
in interfaceBindable<T>
-
getBindableJavaType
Description copied from interface:BindableType
The expected Java type- Specified by:
getBindableJavaType
in interfaceBindable<T>
- Specified by:
getBindableJavaType
in interfaceBindableType<T>
-
getPersistenceType
- Specified by:
getPersistenceType
in interfaceType<T>
-
getJavaType
- Specified by:
getJavaType
in interfaceType<T>
-
getExpressibleJavaType
Description copied from interface:SqmExpressible
The Java type descriptor for this expressible- Specified by:
getExpressibleJavaType
in interfaceSqmExpressible<T>
-
findAttribute
- Specified by:
findAttribute
in interfaceManagedDomainType<T>
-
findSubTypesAttribute
- Specified by:
findSubTypesAttribute
in interfaceManagedDomainType<T>
-
findAttributeInSuperTypes
- Specified by:
findAttributeInSuperTypes
in interfaceManagedDomainType<T>
-
visitAttributes
- Specified by:
visitAttributes
in interfaceManagedDomainType<T>
-
visitDeclaredAttributes
- Specified by:
visitDeclaredAttributes
in interfaceManagedDomainType<T>
-
getAttribute
- Specified by:
getAttribute
in interfaceManagedDomainType<T>
- Specified by:
getAttribute
in interfaceManagedType<T>
-
getDeclaredAttribute
- Specified by:
getDeclaredAttribute
in interfaceManagedDomainType<T>
- Specified by:
getDeclaredAttribute
in interfaceManagedType<T>
-
findSingularAttribute
- Specified by:
findSingularAttribute
in interfaceManagedDomainType<T>
-
findPluralAttribute
- Specified by:
findPluralAttribute
in interfaceManagedDomainType<T>
-
findConcreteGenericAttribute
- Specified by:
findConcreteGenericAttribute
in interfaceManagedDomainType<T>
-
findDeclaredAttribute
- Specified by:
findDeclaredAttribute
in interfaceManagedDomainType<T>
-
findDeclaredSingularAttribute
- Specified by:
findDeclaredSingularAttribute
in interfaceManagedDomainType<T>
-
findDeclaredPluralAttribute
- Specified by:
findDeclaredPluralAttribute
in interfaceManagedDomainType<T>
-
findDeclaredConcreteGenericAttribute
- Specified by:
findDeclaredConcreteGenericAttribute
in interfaceManagedDomainType<T>
-
getAttributes
- Specified by:
getAttributes
in interfaceManagedType<T>
-
getDeclaredAttributes
- Specified by:
getDeclaredAttributes
in interfaceManagedType<T>
-
getSingularAttribute
- Specified by:
getSingularAttribute
in interfaceManagedType<T>
-
getDeclaredSingularAttribute
- Specified by:
getDeclaredSingularAttribute
in interfaceManagedType<T>
-
getSingularAttributes
- Specified by:
getSingularAttributes
in interfaceManagedType<T>
-
getDeclaredSingularAttributes
- Specified by:
getDeclaredSingularAttributes
in interfaceManagedType<T>
-
getCollection
- Specified by:
getCollection
in interfaceManagedType<T>
-
getDeclaredCollection
- Specified by:
getDeclaredCollection
in interfaceManagedType<T>
-
getSet
- Specified by:
getSet
in interfaceManagedType<T>
-
getDeclaredSet
- Specified by:
getDeclaredSet
in interfaceManagedType<T>
-
getList
- Specified by:
getList
in interfaceManagedType<T>
-
getDeclaredList
- Specified by:
getDeclaredList
in interfaceManagedType<T>
-
getMap
- Specified by:
getMap
in interfaceManagedType<T>
-
getDeclaredMap
- Specified by:
getDeclaredMap
in interfaceManagedType<T>
-
getPluralAttributes
- Specified by:
getPluralAttributes
in interfaceManagedType<T>
-
getDeclaredPluralAttributes
- Specified by:
getDeclaredPluralAttributes
in interfaceManagedType<T>
-
getSingularAttribute
- Specified by:
getSingularAttribute
in interfaceManagedType<T>
-
getDeclaredSingularAttribute
- Specified by:
getDeclaredSingularAttribute
in interfaceManagedType<T>
-
getCollection
- Specified by:
getCollection
in interfaceManagedType<T>
-
getDeclaredCollection
- Specified by:
getDeclaredCollection
in interfaceManagedType<T>
-
getSet
- Specified by:
getSet
in interfaceManagedType<T>
-
getDeclaredSet
- Specified by:
getDeclaredSet
in interfaceManagedType<T>
-
getList
- Specified by:
getList
in interfaceManagedType<T>
-
getDeclaredList
- Specified by:
getDeclaredList
in interfaceManagedType<T>
-
getMap
- Specified by:
getMap
in interfaceManagedType<T>
-
getDeclaredMap
- Specified by:
getDeclaredMap
in interfaceManagedType<T>
-
findSubPathSource
Description copied from interface:SqmPathSource
Find aSqmPathSource
by name relative to this source.- Specified by:
findSubPathSource
in interfaceSqmPathSource<T>
- Parameters:
name
- the name of the path source to find- Returns:
- null if the subPathSource is not found
-
createSqmPath
Description copied from interface:SqmPathSource
Create an SQM path for this source relative to the given left hand side- Specified by:
createSqmPath
in interfaceSqmPathSource<T>
-
getRepresentationMode
- Specified by:
getRepresentationMode
in interfaceManagedDomainType<T>
-
getIdentifierDescriptor
- Specified by:
getIdentifierDescriptor
in interfaceIdentifiableDomainType<T>
-
getId
- Specified by:
getId
in interfaceIdentifiableDomainType<T>
- Specified by:
getId
in interfaceIdentifiableType<T>
-
getDeclaredId
- Specified by:
getDeclaredId
in interfaceIdentifiableDomainType<T>
- Specified by:
getDeclaredId
in interfaceIdentifiableType<T>
-
getVersion
- Specified by:
getVersion
in interfaceIdentifiableDomainType<T>
- Specified by:
getVersion
in interfaceIdentifiableType<T>
-
getDeclaredVersion
- Specified by:
getDeclaredVersion
in interfaceIdentifiableDomainType<T>
- Specified by:
getDeclaredVersion
in interfaceIdentifiableType<T>
-
getIdClassAttributes
- Specified by:
getIdClassAttributes
in interfaceIdentifiableDomainType<T>
- Specified by:
getIdClassAttributes
in interfaceIdentifiableType<T>
-
getIdType
- Specified by:
getIdType
in interfaceIdentifiableDomainType<T>
- Specified by:
getIdType
in interfaceIdentifiableType<T>
-
getSupertype
- Specified by:
getSupertype
in interfaceIdentifiableDomainType<T>
- Specified by:
getSupertype
in interfaceIdentifiableType<T>
-
hasIdClass
public boolean hasIdClass()- Specified by:
hasIdClass
in interfaceIdentifiableDomainType<T>
-
findIdAttribute
- Specified by:
findIdAttribute
in interfaceIdentifiableDomainType<T>
-
visitIdClassAttributes
- Specified by:
visitIdClassAttributes
in interfaceIdentifiableDomainType<T>
-
findVersionAttribute
- Specified by:
findVersionAttribute
in interfaceIdentifiableDomainType<T>
-
findNaturalIdAttributes
- Specified by:
findNaturalIdAttributes
in interfaceIdentifiableDomainType<T>
-
hasSingleIdAttribute
public boolean hasSingleIdAttribute()- Specified by:
hasSingleIdAttribute
in interfaceIdentifiableType<T>
-
hasVersionAttribute
public boolean hasVersionAttribute()- Specified by:
hasVersionAttribute
in interfaceIdentifiableType<T>
-
getSuperType
Description copied from interface:ManagedDomainType
The descriptor of the supertype of this type.- Specified by:
getSuperType
in interfaceManagedDomainType<T>
-
getSubTypes
- Specified by:
getSubTypes
in interfaceEntityDomainType<T>
- Specified by:
getSubTypes
in interfaceManagedDomainType<T>
-
addSubType
- Specified by:
addSubType
in interfaceManagedDomainType<T>
-