Class SqmPolymorphicRootDescriptor<T>
- java.lang.Object
-
- org.hibernate.query.sqm.tree.domain.SqmPolymorphicRootDescriptor<T>
-
- All Implemented Interfaces:
jakarta.persistence.metamodel.Bindable<T>,jakarta.persistence.metamodel.EntityType<T>,jakarta.persistence.metamodel.IdentifiableType<T>,jakarta.persistence.metamodel.ManagedType<T>,jakarta.persistence.metamodel.Type<T>,DomainType<T>,EntityDomainType<T>,IdentifiableDomainType<T>,ManagedDomainType<T>,BindableType<T>,SqmExpressible<T>,SqmPathSource<T>,SqmExpressibleAccessor<T>
public class SqmPolymorphicRootDescriptor<T> extends Object implements EntityDomainType<T>
Acts as the EntityValuedNavigable for a "polymorphic query" grouping
-
-
Constructor Summary
Constructors Constructor Description SqmPolymorphicRootDescriptor(JavaType<T> polymorphicJavaType, Set<EntityDomainType<?>> implementors)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddSubType(ManagedDomainType subType)SqmPath<T>createSqmPath(SqmPath<?> lhs, SqmPathSource<?> intermediatePathSource)Create an SQM path for this source relative to the given left-hand sidePersistentAttributefindAttribute(String name)PersistentAttribute<? super T,?>findAttributeInSuperTypes(String name)PersistentAttribute<T,?>findDeclaredAttribute(String name)PluralPersistentAttribute<? super T,?,?>findDeclaredPluralAttribute(String name)SingularPersistentAttribute<? super T,?>findDeclaredSingularAttribute(String name)SingularPersistentAttribute<T,?>findIdAttribute()List<? extends SingularPersistentAttribute<? super T,?>>findNaturalIdAttributes()PluralPersistentAttribute<? super T,?,?>findPluralAttribute(String name)SingularPersistentAttribute<? super T,?>findSingularAttribute(String name)SqmPathSource<?>findSubPathSource(String name)Find a SqmPathSource by name relative to this source.<S extends T>
ManagedDomainType<S>findSubType(Class<S> type)<S extends T>
ManagedDomainType<S>findSubType(String subTypeName)PersistentAttributefindSubTypesAttribute(String name)SingularPersistentAttribute<? super T,?>findVersionAttribute()PersistentAttribute<? super T,?>getAttribute(String name)Set<jakarta.persistence.metamodel.Attribute<? super T,?>>getAttributes()Class<T>getBindableJavaType()The expected Java typejakarta.persistence.metamodel.Bindable.BindableTypegetBindableType()jakarta.persistence.metamodel.CollectionAttribute<? super T,?>getCollection(String name)<E> jakarta.persistence.metamodel.CollectionAttribute<? super T,E>getCollection(String name, Class<E> elementType)PersistentAttribute<T,?>getDeclaredAttribute(String name)Set<jakarta.persistence.metamodel.Attribute<T,?>>getDeclaredAttributes()jakarta.persistence.metamodel.CollectionAttribute<T,?>getDeclaredCollection(String name)<E> jakarta.persistence.metamodel.CollectionAttribute<T,E>getDeclaredCollection(String name, Class<E> elementType)<Y> SingularPersistentAttribute<T,Y>getDeclaredId(Class<Y> type)jakarta.persistence.metamodel.ListAttribute<T,?>getDeclaredList(String name)<E> jakarta.persistence.metamodel.ListAttribute<T,E>getDeclaredList(String name, Class<E> elementType)jakarta.persistence.metamodel.MapAttribute<T,?,?>getDeclaredMap(String name)<K,V>
jakarta.persistence.metamodel.MapAttribute<T,K,V>getDeclaredMap(String name, Class<K> keyType, Class<V> valueType)Set<jakarta.persistence.metamodel.PluralAttribute<T,?,?>>getDeclaredPluralAttributes()jakarta.persistence.metamodel.SetAttribute<T,?>getDeclaredSet(String name)<E> jakarta.persistence.metamodel.SetAttribute<T,E>getDeclaredSet(String name, Class<E> elementType)jakarta.persistence.metamodel.SingularAttribute<T,?>getDeclaredSingularAttribute(String name)<Y> jakarta.persistence.metamodel.SingularAttribute<T,Y>getDeclaredSingularAttribute(String name, Class<Y> type)Set<jakarta.persistence.metamodel.SingularAttribute<T,?>>getDeclaredSingularAttributes()<Y> SingularPersistentAttribute<T,Y>getDeclaredVersion(Class<Y> type)JavaType<T>getExpressibleJavaType()The Java type descriptor for this expressibleStringgetHibernateEntityName()<Y> SingularPersistentAttribute<? super T,Y>getId(Class<Y> type)Set<jakarta.persistence.metamodel.SingularAttribute<? super T,?>>getIdClassAttributes()SqmPathSource<?>getIdentifierDescriptor()SimpleDomainType<?>getIdType()Set<EntityDomainType<?>>getImplementors()Class<T>getJavaType()jakarta.persistence.metamodel.ListAttribute<? super T,?>getList(String name)<E> jakarta.persistence.metamodel.ListAttribute<? super T,E>getList(String name, Class<E> elementType)jakarta.persistence.metamodel.MapAttribute<? super T,?,?>getMap(String name)<K,V>
jakarta.persistence.metamodel.MapAttribute<? super T,K,V>getMap(String name, Class<K> keyType, Class<V> valueType)StringgetName()StringgetPathName()The name of this thing.jakarta.persistence.metamodel.Type.PersistenceTypegetPersistenceType()Set<jakarta.persistence.metamodel.PluralAttribute<? super T,?,?>>getPluralAttributes()RepresentationModegetRepresentationMode()jakarta.persistence.metamodel.SetAttribute<? super T,?>getSet(String name)<E> jakarta.persistence.metamodel.SetAttribute<? super T,E>getSet(String name, Class<E> elementType)jakarta.persistence.metamodel.SingularAttribute<? super T,?>getSingularAttribute(String name)<Y> jakarta.persistence.metamodel.SingularAttribute<? super T,Y>getSingularAttribute(String name, Class<Y> type)Set<jakarta.persistence.metamodel.SingularAttribute<? super T,?>>getSingularAttributes()DomainType<?>getSqmPathType()The type of SqmPaths this source creates.IdentifiableDomainType<? super T>getSupertype()ManagedDomainType<? super T>getSuperType()This type's super type descriptor.StringgetTypeName()Get the type name.<Y> SingularPersistentAttribute<? super T,Y>getVersion(Class<Y> type)booleanhasIdClass()booleanhasSingleIdAttribute()booleanhasVersionAttribute()SubGraphImplementor<T>makeSubGraph()<S extends T>
SubGraphImplementor<S>makeSubGraph(Class<S> subType)voidvisitAttributes(Consumer<? super PersistentAttribute<T,?>> action)voidvisitDeclaredAttributes(Consumer<? super PersistentAttribute<T,?>> action)voidvisitIdClassAttributes(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.query.sqm.SqmExpressible
isInstance, resolveExpressible
-
Methods inherited from interface org.hibernate.query.sqm.tree.SqmExpressibleAccessor
getNodeJavaType
-
Methods inherited from interface org.hibernate.query.sqm.SqmPathSource
getExpressible, getIntermediatePathSource, getSubPathSource
-
-
-
-
Constructor Detail
-
SqmPolymorphicRootDescriptor
public SqmPolymorphicRootDescriptor(JavaType<T> polymorphicJavaType, Set<EntityDomainType<?>> implementors)
-
-
Method Detail
-
getImplementors
public Set<EntityDomainType<?>> getImplementors()
-
getName
public String getName()
- Specified by:
getNamein interfacejakarta.persistence.metamodel.EntityType<T>
-
getHibernateEntityName
public String getHibernateEntityName()
- Specified by:
getHibernateEntityNamein interfaceEntityDomainType<T>
-
getTypeName
public String getTypeName()
Description copied from interface:ManagedDomainTypeGet the type name. Generally speaking, this returns the name of the Java class. However, for dynamic models (RepresentationMode.MAP), this returns the symbolic name since the Java type isMap- Specified by:
getTypeNamein interfaceDomainType<T>- Specified by:
getTypeNamein interfaceManagedDomainType<T>- Returns:
- The type name.
- See Also:
ManagedDomainType.getRepresentationMode()
-
getPathName
public String getPathName()
Description copied from interface:SqmPathSourceThe name of this thing. Mainly used in logging and when creating aNavigablePath- Specified by:
getPathNamein interfaceSqmPathSource<T>
-
getSqmPathType
public DomainType<?> getSqmPathType()
Description copied from interface:SqmPathSourceThe type of SqmPaths this source creates. Corollary to JPA'sBindable.getBindableJavaType()- Specified by:
getSqmPathTypein interfaceSqmPathSource<T>
-
getBindableType
public jakarta.persistence.metamodel.Bindable.BindableType getBindableType()
- Specified by:
getBindableTypein interfacejakarta.persistence.metamodel.Bindable<T>
-
getBindableJavaType
public Class<T> getBindableJavaType()
Description copied from interface:BindableTypeThe expected Java type- Specified by:
getBindableJavaTypein interfacejakarta.persistence.metamodel.Bindable<T>- Specified by:
getBindableJavaTypein interfaceBindableType<T>
-
getPersistenceType
public jakarta.persistence.metamodel.Type.PersistenceType getPersistenceType()
- Specified by:
getPersistenceTypein interfacejakarta.persistence.metamodel.Type<T>
-
getJavaType
public Class<T> getJavaType()
- Specified by:
getJavaTypein interfacejakarta.persistence.metamodel.Type<T>
-
getExpressibleJavaType
public JavaType<T> getExpressibleJavaType()
Description copied from interface:SqmExpressibleThe Java type descriptor for this expressible- Specified by:
getExpressibleJavaTypein interfaceDomainType<T>- Specified by:
getExpressibleJavaTypein interfaceSqmExpressible<T>- See Also:
DomainType.getTypeName()
-
findAttribute
public PersistentAttribute findAttribute(String name)
- Specified by:
findAttributein interfaceManagedDomainType<T>
-
findSubTypesAttribute
public PersistentAttribute findSubTypesAttribute(String name)
- Specified by:
findSubTypesAttributein interfaceManagedDomainType<T>
-
findAttributeInSuperTypes
public PersistentAttribute<? super T,?> findAttributeInSuperTypes(String name)
- Specified by:
findAttributeInSuperTypesin interfaceManagedDomainType<T>
-
visitAttributes
public void visitAttributes(Consumer<? super PersistentAttribute<T,?>> action)
- Specified by:
visitAttributesin interfaceManagedDomainType<T>
-
visitDeclaredAttributes
public void visitDeclaredAttributes(Consumer<? super PersistentAttribute<T,?>> action)
- Specified by:
visitDeclaredAttributesin interfaceManagedDomainType<T>
-
getAttribute
public PersistentAttribute<? super T,?> getAttribute(String name)
- Specified by:
getAttributein interfaceManagedDomainType<T>- Specified by:
getAttributein interfacejakarta.persistence.metamodel.ManagedType<T>
-
getDeclaredAttribute
public PersistentAttribute<T,?> getDeclaredAttribute(String name)
- Specified by:
getDeclaredAttributein interfaceManagedDomainType<T>- Specified by:
getDeclaredAttributein interfacejakarta.persistence.metamodel.ManagedType<T>
-
findSingularAttribute
public SingularPersistentAttribute<? super T,?> findSingularAttribute(String name)
- Specified by:
findSingularAttributein interfaceManagedDomainType<T>
-
findPluralAttribute
public PluralPersistentAttribute<? super T,?,?> findPluralAttribute(String name)
- Specified by:
findPluralAttributein interfaceManagedDomainType<T>
-
findDeclaredAttribute
public PersistentAttribute<T,?> findDeclaredAttribute(String name)
- Specified by:
findDeclaredAttributein interfaceManagedDomainType<T>
-
findDeclaredSingularAttribute
public SingularPersistentAttribute<? super T,?> findDeclaredSingularAttribute(String name)
- Specified by:
findDeclaredSingularAttributein interfaceManagedDomainType<T>
-
findDeclaredPluralAttribute
public PluralPersistentAttribute<? super T,?,?> findDeclaredPluralAttribute(String name)
- Specified by:
findDeclaredPluralAttributein interfaceManagedDomainType<T>
-
getAttributes
public Set<jakarta.persistence.metamodel.Attribute<? super T,?>> getAttributes()
- Specified by:
getAttributesin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getDeclaredAttributes
public Set<jakarta.persistence.metamodel.Attribute<T,?>> getDeclaredAttributes()
- Specified by:
getDeclaredAttributesin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getSingularAttribute
public <Y> jakarta.persistence.metamodel.SingularAttribute<? super T,Y> getSingularAttribute(String name, Class<Y> type)
- Specified by:
getSingularAttributein interfacejakarta.persistence.metamodel.ManagedType<T>
-
getDeclaredSingularAttribute
public <Y> jakarta.persistence.metamodel.SingularAttribute<T,Y> getDeclaredSingularAttribute(String name, Class<Y> type)
- Specified by:
getDeclaredSingularAttributein interfacejakarta.persistence.metamodel.ManagedType<T>
-
getSingularAttributes
public Set<jakarta.persistence.metamodel.SingularAttribute<? super T,?>> getSingularAttributes()
- Specified by:
getSingularAttributesin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getDeclaredSingularAttributes
public Set<jakarta.persistence.metamodel.SingularAttribute<T,?>> getDeclaredSingularAttributes()
- Specified by:
getDeclaredSingularAttributesin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getCollection
public <E> jakarta.persistence.metamodel.CollectionAttribute<? super T,E> getCollection(String name, Class<E> elementType)
- Specified by:
getCollectionin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getDeclaredCollection
public <E> jakarta.persistence.metamodel.CollectionAttribute<T,E> getDeclaredCollection(String name, Class<E> elementType)
- Specified by:
getDeclaredCollectionin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getSet
public <E> jakarta.persistence.metamodel.SetAttribute<? super T,E> getSet(String name, Class<E> elementType)
- Specified by:
getSetin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getDeclaredSet
public <E> jakarta.persistence.metamodel.SetAttribute<T,E> getDeclaredSet(String name, Class<E> elementType)
- Specified by:
getDeclaredSetin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getList
public <E> jakarta.persistence.metamodel.ListAttribute<? super T,E> getList(String name, Class<E> elementType)
- Specified by:
getListin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getDeclaredList
public <E> jakarta.persistence.metamodel.ListAttribute<T,E> getDeclaredList(String name, Class<E> elementType)
- Specified by:
getDeclaredListin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getMap
public <K,V> jakarta.persistence.metamodel.MapAttribute<? super T,K,V> getMap(String name, Class<K> keyType, Class<V> valueType)
- Specified by:
getMapin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getDeclaredMap
public <K,V> jakarta.persistence.metamodel.MapAttribute<T,K,V> getDeclaredMap(String name, Class<K> keyType, Class<V> valueType)
- Specified by:
getDeclaredMapin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getPluralAttributes
public Set<jakarta.persistence.metamodel.PluralAttribute<? super T,?,?>> getPluralAttributes()
- Specified by:
getPluralAttributesin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getDeclaredPluralAttributes
public Set<jakarta.persistence.metamodel.PluralAttribute<T,?,?>> getDeclaredPluralAttributes()
- Specified by:
getDeclaredPluralAttributesin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getSingularAttribute
public jakarta.persistence.metamodel.SingularAttribute<? super T,?> getSingularAttribute(String name)
- Specified by:
getSingularAttributein interfacejakarta.persistence.metamodel.ManagedType<T>
-
getDeclaredSingularAttribute
public jakarta.persistence.metamodel.SingularAttribute<T,?> getDeclaredSingularAttribute(String name)
- Specified by:
getDeclaredSingularAttributein interfacejakarta.persistence.metamodel.ManagedType<T>
-
getCollection
public jakarta.persistence.metamodel.CollectionAttribute<? super T,?> getCollection(String name)
- Specified by:
getCollectionin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getDeclaredCollection
public jakarta.persistence.metamodel.CollectionAttribute<T,?> getDeclaredCollection(String name)
- Specified by:
getDeclaredCollectionin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getSet
public jakarta.persistence.metamodel.SetAttribute<? super T,?> getSet(String name)
- Specified by:
getSetin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getDeclaredSet
public jakarta.persistence.metamodel.SetAttribute<T,?> getDeclaredSet(String name)
- Specified by:
getDeclaredSetin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getList
public jakarta.persistence.metamodel.ListAttribute<? super T,?> getList(String name)
- Specified by:
getListin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getDeclaredList
public jakarta.persistence.metamodel.ListAttribute<T,?> getDeclaredList(String name)
- Specified by:
getDeclaredListin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getMap
public jakarta.persistence.metamodel.MapAttribute<? super T,?,?> getMap(String name)
- Specified by:
getMapin interfacejakarta.persistence.metamodel.ManagedType<T>
-
getDeclaredMap
public jakarta.persistence.metamodel.MapAttribute<T,?,?> getDeclaredMap(String name)
- Specified by:
getDeclaredMapin interfacejakarta.persistence.metamodel.ManagedType<T>
-
findSubPathSource
public SqmPathSource<?> findSubPathSource(String name)
Description copied from interface:SqmPathSourceFind a SqmPathSource by name relative to this source. returns null if the subPathSource is not found- Specified by:
findSubPathSourcein interfaceSqmPathSource<T>
-
createSqmPath
public SqmPath<T> createSqmPath(SqmPath<?> lhs, SqmPathSource<?> intermediatePathSource)
Description copied from interface:SqmPathSourceCreate an SQM path for this source relative to the given left-hand side- Specified by:
createSqmPathin interfaceSqmPathSource<T>
-
getRepresentationMode
public RepresentationMode getRepresentationMode()
- Specified by:
getRepresentationModein interfaceManagedDomainType<T>
-
makeSubGraph
public SubGraphImplementor<T> makeSubGraph()
- Specified by:
makeSubGraphin interfaceManagedDomainType<T>
-
makeSubGraph
public <S extends T> SubGraphImplementor<S> makeSubGraph(Class<S> subType)
- Specified by:
makeSubGraphin interfaceManagedDomainType<T>
-
findSubType
public <S extends T> ManagedDomainType<S> findSubType(String subTypeName)
- Specified by:
findSubTypein interfaceManagedDomainType<T>
-
findSubType
public <S extends T> ManagedDomainType<S> findSubType(Class<S> type)
- Specified by:
findSubTypein interfaceManagedDomainType<T>
-
getIdentifierDescriptor
public SqmPathSource<?> getIdentifierDescriptor()
- Specified by:
getIdentifierDescriptorin interfaceIdentifiableDomainType<T>
-
getId
public <Y> SingularPersistentAttribute<? super T,Y> getId(Class<Y> type)
- Specified by:
getIdin interfaceIdentifiableDomainType<T>- Specified by:
getIdin interfacejakarta.persistence.metamodel.IdentifiableType<T>
-
getDeclaredId
public <Y> SingularPersistentAttribute<T,Y> getDeclaredId(Class<Y> type)
- Specified by:
getDeclaredIdin interfaceIdentifiableDomainType<T>- Specified by:
getDeclaredIdin interfacejakarta.persistence.metamodel.IdentifiableType<T>
-
getVersion
public <Y> SingularPersistentAttribute<? super T,Y> getVersion(Class<Y> type)
- Specified by:
getVersionin interfaceIdentifiableDomainType<T>- Specified by:
getVersionin interfacejakarta.persistence.metamodel.IdentifiableType<T>
-
getDeclaredVersion
public <Y> SingularPersistentAttribute<T,Y> getDeclaredVersion(Class<Y> type)
- Specified by:
getDeclaredVersionin interfaceIdentifiableDomainType<T>- Specified by:
getDeclaredVersionin interfacejakarta.persistence.metamodel.IdentifiableType<T>
-
getIdClassAttributes
public Set<jakarta.persistence.metamodel.SingularAttribute<? super T,?>> getIdClassAttributes()
- Specified by:
getIdClassAttributesin interfaceIdentifiableDomainType<T>- Specified by:
getIdClassAttributesin interfacejakarta.persistence.metamodel.IdentifiableType<T>
-
getIdType
public SimpleDomainType<?> getIdType()
- Specified by:
getIdTypein interfaceIdentifiableDomainType<T>- Specified by:
getIdTypein interfacejakarta.persistence.metamodel.IdentifiableType<T>
-
getSupertype
public IdentifiableDomainType<? super T> getSupertype()
- Specified by:
getSupertypein interfaceIdentifiableDomainType<T>- Specified by:
getSupertypein interfacejakarta.persistence.metamodel.IdentifiableType<T>
-
hasIdClass
public boolean hasIdClass()
- Specified by:
hasIdClassin interfaceIdentifiableDomainType<T>
-
findIdAttribute
public SingularPersistentAttribute<T,?> findIdAttribute()
- Specified by:
findIdAttributein interfaceIdentifiableDomainType<T>
-
visitIdClassAttributes
public void visitIdClassAttributes(Consumer<SingularPersistentAttribute<? super T,?>> action)
- Specified by:
visitIdClassAttributesin interfaceIdentifiableDomainType<T>
-
findVersionAttribute
public SingularPersistentAttribute<? super T,?> findVersionAttribute()
- Specified by:
findVersionAttributein interfaceIdentifiableDomainType<T>
-
findNaturalIdAttributes
public List<? extends SingularPersistentAttribute<? super T,?>> findNaturalIdAttributes()
- Specified by:
findNaturalIdAttributesin interfaceIdentifiableDomainType<T>
-
hasSingleIdAttribute
public boolean hasSingleIdAttribute()
- Specified by:
hasSingleIdAttributein interfacejakarta.persistence.metamodel.IdentifiableType<T>
-
hasVersionAttribute
public boolean hasVersionAttribute()
- Specified by:
hasVersionAttributein interfacejakarta.persistence.metamodel.IdentifiableType<T>
-
getSuperType
public ManagedDomainType<? super T> getSuperType()
Description copied from interface:ManagedDomainTypeThis type's super type descriptor. Note : we define this on the managed type descriptor in anticipation of supporting embeddable inheritance- Specified by:
getSuperTypein interfaceManagedDomainType<T>
-
addSubType
public void addSubType(ManagedDomainType subType)
- Specified by:
addSubTypein interfaceManagedDomainType<T>
-
-