Class AbstractPluralAttribute<D,C,E>
java.lang.Object
org.hibernate.metamodel.model.domain.internal.AbstractAttribute<D,C,E>
org.hibernate.metamodel.model.domain.internal.AbstractPluralAttribute<D,C,E>
- Type Parameters:
D- The (D)eclaring typeC- TheCollectiontypeE- The type of the Collection's elements
- All Implemented Interfaces:
Attribute<D,,C> Bindable<E>,PluralAttribute<D,,C, E> Serializable,PersistentAttribute<D,,C> PluralPersistentAttribute<D,,C, E> BindableType<E>,SqmExpressible<E>,SqmJoinable<D,,E> SqmPathSource<E>,SqmExpressibleAccessor<E>
- Direct Known Subclasses:
BagAttributeImpl,ListAttributeImpl,MapAttributeImpl,SetAttributeImpl
public abstract class AbstractPluralAttribute<D,C,E>
extends AbstractAttribute<D,C,E>
implements PluralPersistentAttribute<D,C,E>, Serializable
- Author:
- Emmanuel Bernard, Steve Ebersole
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface jakarta.persistence.metamodel.Attribute
Attribute.PersistentAttributeTypeNested classes/interfaces inherited from interface jakarta.persistence.metamodel.Bindable
Bindable.BindableTypeNested classes/interfaces inherited from interface jakarta.persistence.metamodel.PluralAttribute
PluralAttribute.CollectionType -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractPluralAttribute(PluralAttributeBuilder<D, C, E, ?> builder, MetadataContext metadataContext) -
Method Summary
Modifier and TypeMethodDescriptioncreateNavigablePath(SqmPath<?> parent, String alias) createSqmPath(SqmPath<?> lhs, SqmPathSource<?> intermediatePathSource) Create an SQM path for this source relative to the given left hand sidefindSubPathSource(String name) Find aSqmPathSourceby name relative to this source.findSubPathSource(String name, JpaMetamodelImplementor metamodel) Find aSqmPathSourceby name relative to this source.The expected Java typeReturn the bindable type of the represented object.Return the collection type.Return the type representing the element type of the collection.The Java type descriptor for this expressiblegetIntermediatePathSource(SqmPathSource<?> pathSource) Returns the intermediateSqmPathSourcefor a path source previously acquired viaSqmPathSource.findSubPathSource(String).Return the Java type of the represented attribute.The name of this thing.booleanIs the attribute an association.booleanIs the attribute collection-valued (represents a Collection, Set, List, or Map).booleanIndicates if this path source is generically typedMethods inherited from class org.hibernate.metamodel.model.domain.internal.AbstractAttribute
getAttributeClassification, getAttributeJavaType, getDeclaringType, getJavaMember, getName, getPersistentAttributeType, getSqmPathType, toString, writeReplaceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface jakarta.persistence.metamodel.Attribute
getJavaMember, getName, getPersistentAttributeTypeMethods inherited from interface org.hibernate.metamodel.model.domain.PersistentAttribute
getAttributeClassification, getAttributeJavaTypeMethods inherited from interface org.hibernate.metamodel.model.domain.PluralPersistentAttribute
getDeclaringType, getIndexPathSourceMethods inherited from interface org.hibernate.query.sqm.SqmExpressible
getRelationalJavaType, getTypeName, isInstance, resolveExpressibleMethods inherited from interface org.hibernate.query.sqm.tree.SqmExpressibleAccessor
getNodeJavaTypeMethods inherited from interface org.hibernate.query.sqm.SqmJoinable
createSqmJoin, getNameMethods inherited from interface org.hibernate.query.sqm.SqmPathSource
getExpressible, getSqmPathType, getSqmType, getSubPathSource, getSubPathSource
-
Constructor Details
-
AbstractPluralAttribute
protected AbstractPluralAttribute(PluralAttributeBuilder<D, C, E, ?> builder, MetadataContext metadataContext)
-
-
Method Details
-
getPathName
Description copied from interface:SqmPathSourceThe name of this thing.- Specified by:
getPathNamein interfaceSqmPathSource<D>
-
getCollectionClassification
- Specified by:
getCollectionClassificationin interfacePluralPersistentAttribute<D,C, E>
-
getElementPathSource
- Specified by:
getElementPathSourcein interfacePluralPersistentAttribute<D,C, E>
-
findSubPathSource
Description copied from interface:SqmPathSourceFind aSqmPathSourceby name relative to this source.- Specified by:
findSubPathSourcein interfaceSqmPathSource<D>- Returns:
- null if the subPathSource is not found
-
findSubPathSource
Description copied from interface:SqmPathSourceFind aSqmPathSourceby name relative to this source.- Specified by:
findSubPathSourcein interfaceSqmPathSource<D>- Returns:
- null if the subPathSource is not found
-
getIntermediatePathSource
Description copied from interface:SqmPathSourceReturns the intermediateSqmPathSourcefor a path source previously acquired viaSqmPathSource.findSubPathSource(String).- Specified by:
getIntermediatePathSourcein interfaceSqmPathSource<D>
-
getCollectionType
Description copied from interface:PluralAttributeReturn the collection type.- Specified by:
getCollectionTypein interfacePluralAttribute<D,C, E> - Returns:
- collection type
-
getExpressibleJavaType
Description copied from interface:SqmExpressibleThe Java type descriptor for this expressible- Specified by:
getExpressibleJavaTypein interfaceSqmExpressible<D>
-
getElementType
Description copied from interface:PluralAttributeReturn the type representing the element type of the collection.- Specified by:
getElementTypein interfacePluralAttribute<D,C, E> - Specified by:
getElementTypein interfacePluralPersistentAttribute<D,C, E> - Returns:
- element type
-
getJavaType
Description copied from interface:AttributeReturn the Java type of the represented attribute.- Specified by:
getJavaTypein interfaceAttribute<D,C> - Overrides:
getJavaTypein classAbstractAttribute<D,C, E> - Returns:
- Java type
-
getValueGraphType
- Specified by:
getValueGraphTypein interfacePersistentAttribute<D,C> - Specified by:
getValueGraphTypein interfacePluralPersistentAttribute<D,C, E> - Overrides:
getValueGraphTypein classAbstractAttribute<D,C, E>
-
getKeyGraphType
- Specified by:
getKeyGraphTypein interfacePersistentAttribute<D,C> - Specified by:
getKeyGraphTypein interfacePluralPersistentAttribute<D,C, E>
-
isAssociation
public boolean isAssociation()Description copied from interface:AttributeIs the attribute an association.- Specified by:
isAssociationin interfaceAttribute<D,C> - Returns:
- boolean indicating whether the attribute corresponds to an association
-
isCollection
public boolean isCollection()Description copied from interface:AttributeIs the attribute collection-valued (represents a Collection, Set, List, or Map).- Specified by:
isCollectionin interfaceAttribute<D,C> - Returns:
- boolean indicating whether the attribute is collection-valued
-
getBindableType
Description copied from interface:BindableReturn the bindable type of the represented object.- Specified by:
getBindableTypein interfaceBindable<D>- Returns:
- bindable type
-
getBindableJavaType
Description copied from interface:BindableTypeThe expected Java type- Specified by:
getBindableJavaTypein interfaceBindable<D>- Specified by:
getBindableJavaTypein interfaceBindableType<D>- Returns:
- Java type
-
createSqmPath
Description copied from interface:SqmPathSourceCreate an SQM path for this source relative to the given left hand side- Specified by:
createSqmPathin interfaceSqmPathSource<D>
-
isGeneric
public boolean isGeneric()Description copied from interface:SqmPathSourceIndicates if this path source is generically typed- Specified by:
isGenericin interfaceSqmPathSource<D>
-