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>, PathSource<T>, TreatableDomainType<T>, SqmBindableType<T>, SqmExpressible<T>, SqmPathSource<T>, SqmDomainType<T>, SqmEntityDomainType<T>, SqmManagedDomainType<T>, SqmTreatableDomainType<T>, SqmExpressibleAccessor<T>, BindableType<T>
Acts as the
EntityDomainType for a "polymorphic query" grouping.-
Nested Class Summary
Nested classes/interfaces inherited from interface Bindable
Bindable.BindableTypeNested classes/interfaces inherited from interface Type
Type.PersistenceType -
Constructor Summary
ConstructorsConstructorDescriptionSqmPolymorphicRootDescriptor(JavaType<T> polymorphicJavaType, Set<EntityDomainType<? extends T>> implementors, JpaMetamodel jpaMetamodel) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSubType(ManagedDomainType<? extends T> subType) createSqmPath(SqmPath<?> lhs, @Nullable SqmPathSource<?> intermediatePathSource) Create an SQM path for this source relative to the given left hand side@Nullable SqmPersistentAttribute<? super T, ?> findAttribute(String name) @Nullable SqmPersistentAttribute<? super T, ?> @Nullable SqmPersistentAttribute<T, ?> findDeclaredAttribute(String name) @Nullable SqmPersistentAttribute<T, ?> @Nullable SqmPluralPersistentAttribute<T, ?, ?> @Nullable SqmSingularPersistentAttribute<T, ?> @Nullable SingularPersistentAttribute<? super T, ?> @Nullable List<? extends SingularPersistentAttribute<? super T, ?>> @Nullable SqmPluralPersistentAttribute<? super T, ?, ?> findPluralAttribute(String name) @Nullable SqmSingularPersistentAttribute<? super T, ?> findSingularAttribute(String name) @Nullable SqmPathSource<?> findSubPathSource(String name) Find aPathSourceby name relative to this source.@Nullable SqmPersistentAttribute<?, ?> findSubTypesAttribute(String name) @Nullable SingularPersistentAttribute<? super T, ?> SqmPersistentAttribute<? super T, ?> getAttribute(String name) CollectionAttribute<? 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) TheJavaTyperepresenting this domain type.<Y> SingularPersistentAttribute<? super T, Y> Set<SingularAttribute<? super T, ?>> @Nullable SqmPathSource<?> Set<EntityDomainType<? extends T>> The Java class of the entity type.ListAttribute<? super T, ?> <E> ListAttribute<? super T, E> MapAttribute<? super T, ?, ?> <K,V> MapAttribute <? super T, K, V> The parent metamodel.getName()The name of this thing.The type of path this source creates.Set<PluralAttribute<? super T, ?, ?>> The representation mode.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, ?>> Collection<? extends EntityDomainType<? extends T>> The descriptors of all known managed subtypes of this type.@Nullable IdentifiableDomainType<? super T> @Nullable ManagedDomainType<? super T> The descriptor of the supertype of this type.The name of the managed type.<Y> SingularPersistentAttribute<? super T, Y> getVersion(Class<Y> type) booleanbooleanbooleanvoidvisitAttributes(Consumer<? super PersistentAttribute<? super T, ?>> action) voidvisitDeclaredAttributes(Consumer<? super PersistentAttribute<T, ?>> action) voidvisitIdClassAttributes(Consumer<SingularPersistentAttribute<? super T, ?>> action) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface SqmBindableType
resolveExpressibleMethods inherited from interface SqmDomainType
getTupleLengthMethods inherited from interface SqmEntityDomainType
getSqmTypeMethods inherited from interface SqmExpressible
getRelationalJavaTypeMethods inherited from interface SqmExpressibleAccessor
getNodeJavaTypeMethods inherited from interface SqmManagedDomainType
findAttributeInSuperTypesMethods inherited from interface SqmPathSource
findSubPathSource, getExpressible, getIntermediatePathSource, getSubPathSource, getSubPathSource, isGeneric
-
Constructor Details
-
SqmPolymorphicRootDescriptor
public SqmPolymorphicRootDescriptor(JavaType<T> polymorphicJavaType, Set<EntityDomainType<? extends T>> implementors, JpaMetamodel jpaMetamodel)
-
-
Method Details
-
getMetamodel
Description copied from interface:ManagedDomainTypeThe parent metamodel.- Specified by:
getMetamodelin interfaceManagedDomainType<T>
-
getImplementors
-
getBindableJavaType
- Specified by:
getBindableJavaTypein interfaceBindable<T>
-
getName
- Specified by:
getNamein interfaceEntityType<T>
-
getHibernateEntityName
- Specified by:
getHibernateEntityNamein interfaceEntityDomainType<T>
-
getTypeName
Description copied from interface:ManagedDomainTypeThe name of the managed type.- Specified by:
getTypeNamein interfaceDomainType<T>- Specified by:
getTypeNamein interfaceManagedDomainType<T>- Specified by:
getTypeNamein interfaceSqmDomainType<T>- Specified by:
getTypeNamein interfaceSqmExpressible<T>- Specified by:
getTypeNamein interfaceSqmManagedDomainType<T>- Specified by:
getTypeNamein interfaceSqmTreatableDomainType<T>- See Also:
-
getPathName
Description copied from interface:PathSourceThe name of this thing.- Specified by:
getPathNamein interfacePathSource<T>
-
getPathType
Description copied from interface:PathSourceThe type of path this source creates.- Specified by:
getPathTypein interfacePathSource<T>- Specified by:
getPathTypein interfaceSqmPathSource<T>
-
getBindableType
- Specified by:
getBindableTypein interfaceBindable<T>
-
getJavaType
Description copied from interface:ManagedDomainTypeThe Java class of the entity type.- Specified by:
getJavaTypein interfaceDomainType<T>- Specified by:
getJavaTypein interfaceManagedDomainType<T>- Specified by:
getJavaTypein interfaceSqmManagedDomainType<T>- Specified by:
getJavaTypein interfaceType<T>- See Also:
-
getPersistenceType
- Specified by:
getPersistenceTypein interfaceType<T>
-
getExpressibleJavaType
Description copied from interface:DomainTypeTheJavaTyperepresenting this domain type.- Specified by:
getExpressibleJavaTypein interfaceDomainType<T>- Specified by:
getExpressibleJavaTypein interfaceSqmExpressible<T>
-
findAttribute
- Specified by:
findAttributein interfaceManagedDomainType<T>- Specified by:
findAttributein interfaceSqmManagedDomainType<T>
-
findSubTypesAttribute
- Specified by:
findSubTypesAttributein interfaceManagedDomainType<T>- Specified by:
findSubTypesAttributein interfaceSqmManagedDomainType<T>
-
visitAttributes
- Specified by:
visitAttributesin interfaceManagedDomainType<T>
-
visitDeclaredAttributes
- Specified by:
visitDeclaredAttributesin interfaceManagedDomainType<T>
-
getAttribute
- Specified by:
getAttributein interfaceManagedDomainType<T>- Specified by:
getAttributein interfaceManagedType<T>
-
getDeclaredAttribute
- Specified by:
getDeclaredAttributein interfaceManagedDomainType<T>- Specified by:
getDeclaredAttributein interfaceManagedType<T>
-
findSingularAttribute
- Specified by:
findSingularAttributein interfaceManagedDomainType<T>- Specified by:
findSingularAttributein interfaceSqmManagedDomainType<T>
-
findPluralAttribute
- Specified by:
findPluralAttributein interfaceManagedDomainType<T>- Specified by:
findPluralAttributein interfaceSqmManagedDomainType<T>
-
findConcreteGenericAttribute
- Specified by:
findConcreteGenericAttributein interfaceManagedDomainType<T>- Specified by:
findConcreteGenericAttributein interfaceSqmManagedDomainType<T>
-
findDeclaredAttribute
- Specified by:
findDeclaredAttributein interfaceManagedDomainType<T>- Specified by:
findDeclaredAttributein interfaceSqmManagedDomainType<T>
-
findDeclaredSingularAttribute
- Specified by:
findDeclaredSingularAttributein interfaceManagedDomainType<T>- Specified by:
findDeclaredSingularAttributein interfaceSqmManagedDomainType<T>
-
findDeclaredPluralAttribute
- Specified by:
findDeclaredPluralAttributein interfaceManagedDomainType<T>- Specified by:
findDeclaredPluralAttributein interfaceSqmManagedDomainType<T>
-
findDeclaredConcreteGenericAttribute
- Specified by:
findDeclaredConcreteGenericAttributein interfaceManagedDomainType<T>- Specified by:
findDeclaredConcreteGenericAttributein interfaceSqmManagedDomainType<T>
-
getAttributes
- Specified by:
getAttributesin interfaceManagedType<T>
-
getDeclaredAttributes
- Specified by:
getDeclaredAttributesin interfaceManagedType<T>
-
getSingularAttribute
- Specified by:
getSingularAttributein interfaceManagedType<T>
-
getDeclaredSingularAttribute
- Specified by:
getDeclaredSingularAttributein interfaceManagedType<T>
-
getSingularAttributes
- Specified by:
getSingularAttributesin interfaceManagedType<T>
-
getDeclaredSingularAttributes
- Specified by:
getDeclaredSingularAttributesin interfaceManagedType<T>
-
getCollection
- Specified by:
getCollectionin interfaceManagedType<T>
-
getDeclaredCollection
- Specified by:
getDeclaredCollectionin interfaceManagedType<T>
-
getSet
- Specified by:
getSetin interfaceManagedType<T>
-
getDeclaredSet
- Specified by:
getDeclaredSetin interfaceManagedType<T>
-
getList
- Specified by:
getListin interfaceManagedType<T>
-
getDeclaredList
- Specified by:
getDeclaredListin interfaceManagedType<T>
-
getMap
public <K,V> MapAttribute<? super T, K, V> getMap(String name, Class<K> keyType, Class<V> valueType) - Specified by:
getMapin interfaceManagedType<T>
-
getDeclaredMap
- Specified by:
getDeclaredMapin interfaceManagedType<T>
-
getPluralAttributes
- Specified by:
getPluralAttributesin interfaceManagedType<T>
-
getDeclaredPluralAttributes
- Specified by:
getDeclaredPluralAttributesin interfaceManagedType<T>
-
getSingularAttribute
- Specified by:
getSingularAttributein interfaceManagedType<T>
-
getDeclaredSingularAttribute
- Specified by:
getDeclaredSingularAttributein interfaceManagedType<T>
-
getCollection
- Specified by:
getCollectionin interfaceManagedType<T>
-
getDeclaredCollection
- Specified by:
getDeclaredCollectionin interfaceManagedType<T>
-
getSet
- Specified by:
getSetin interfaceManagedType<T>
-
getDeclaredSet
- Specified by:
getDeclaredSetin interfaceManagedType<T>
-
getList
- Specified by:
getListin interfaceManagedType<T>
-
getDeclaredList
- Specified by:
getDeclaredListin interfaceManagedType<T>
-
getMap
- Specified by:
getMapin interfaceManagedType<T>
-
getDeclaredMap
- Specified by:
getDeclaredMapin interfaceManagedType<T>
-
findSubPathSource
Description copied from interface:PathSourceFind aPathSourceby name relative to this source.- Specified by:
findSubPathSourcein interfacePathSource<T>- Specified by:
findSubPathSourcein 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:SqmPathSourceCreate an SQM path for this source relative to the given left hand side- Specified by:
createSqmPathin interfaceSqmPathSource<T>
-
getRepresentationMode
Description copied from interface:ManagedDomainTypeThe representation mode.- Specified by:
getRepresentationModein interfaceManagedDomainType<T>- Returns:
POJOfor Java class entities, orMAPfor dynamic entities.
-
getIdentifierDescriptor
- Specified by:
getIdentifierDescriptorin interfaceIdentifiableDomainType<T>
-
getId
- Specified by:
getIdin interfaceIdentifiableDomainType<T>- Specified by:
getIdin interfaceIdentifiableType<T>
-
getDeclaredId
- Specified by:
getDeclaredIdin interfaceIdentifiableDomainType<T>- Specified by:
getDeclaredIdin interfaceIdentifiableType<T>
-
getVersion
- Specified by:
getVersionin interfaceIdentifiableDomainType<T>- Specified by:
getVersionin interfaceIdentifiableType<T>
-
getDeclaredVersion
- Specified by:
getDeclaredVersionin interfaceIdentifiableDomainType<T>- Specified by:
getDeclaredVersionin interfaceIdentifiableType<T>
-
getIdClassAttributes
- Specified by:
getIdClassAttributesin interfaceIdentifiableDomainType<T>- Specified by:
getIdClassAttributesin interfaceIdentifiableType<T>
-
getIdType
- Specified by:
getIdTypein interfaceIdentifiableDomainType<T>- Specified by:
getIdTypein interfaceIdentifiableType<T>
-
getSupertype
- Specified by:
getSupertypein interfaceIdentifiableDomainType<T>- Specified by:
getSupertypein interfaceIdentifiableType<T>
-
hasIdClass
public boolean hasIdClass()- Specified by:
hasIdClassin interfaceIdentifiableDomainType<T>
-
findIdAttribute
- Specified by:
findIdAttributein interfaceIdentifiableDomainType<T>
-
visitIdClassAttributes
- Specified by:
visitIdClassAttributesin interfaceIdentifiableDomainType<T>
-
findVersionAttribute
- Specified by:
findVersionAttributein interfaceIdentifiableDomainType<T>
-
findNaturalIdAttributes
public @Nullable List<? extends SingularPersistentAttribute<? super T, ?>> findNaturalIdAttributes()- Specified by:
findNaturalIdAttributesin interfaceIdentifiableDomainType<T>
-
hasSingleIdAttribute
public boolean hasSingleIdAttribute()- Specified by:
hasSingleIdAttributein interfaceIdentifiableType<T>
-
hasVersionAttribute
public boolean hasVersionAttribute()- Specified by:
hasVersionAttributein interfaceIdentifiableType<T>
-
getSuperType
Description copied from interface:ManagedDomainTypeThe descriptor of the supertype of this type.- Specified by:
getSuperTypein interfaceManagedDomainType<T>
-
getSubTypes
Description copied from interface:ManagedDomainTypeThe descriptors of all known managed subtypes of this type.- Specified by:
getSubTypesin interfaceEntityDomainType<T>- Specified by:
getSubTypesin interfaceManagedDomainType<T>
-
addSubType
- Specified by:
addSubTypein interfaceManagedDomainType<T>
-