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
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jakarta.persistence.metamodel.Attribute
Attribute.PersistentAttributeType
-
Nested classes/interfaces inherited from interface jakarta.persistence.metamodel.Bindable
Bindable.BindableType
-
Nested classes/interfaces inherited from interface jakarta.persistence.metamodel.PluralAttribute
PluralAttribute.CollectionType
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractPluralAttribute(PluralAttributeBuilder<D,C,E,?> builder, MetadataContext metadataContext)
-
Method Summary
-
Methods inherited from class org.hibernate.metamodel.model.domain.internal.AbstractAttribute
getAttributeClassification, getAttributeJavaType, getDeclaringType, getJavaMember, getName, getPersistentAttributeType, getSqmPathType, toString, writeReplace
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jakarta.persistence.metamodel.Attribute
getJavaMember, getName, getPersistentAttributeType
-
Methods inherited from interface org.hibernate.metamodel.model.domain.PersistentAttribute
getAttributeClassification, getAttributeJavaType
-
Methods inherited from interface org.hibernate.metamodel.model.domain.PluralPersistentAttribute
getDeclaringType, getIndexPathSource
-
Methods inherited from interface org.hibernate.query.sqm.SqmExpressible
getRelationalJavaType, getTypeName, isInstance, resolveExpressible
-
Methods inherited from interface org.hibernate.query.sqm.tree.SqmExpressibleAccessor
getNodeJavaType
-
Methods inherited from interface org.hibernate.query.sqm.SqmJoinable
createSqmJoin, getName
-
Methods inherited from interface org.hibernate.query.sqm.SqmPathSource
getExpressible, getSqmPathType, getSqmType, getSubPathSource, getSubPathSource
-
-
-
-
Constructor Detail
-
AbstractPluralAttribute
protected AbstractPluralAttribute(PluralAttributeBuilder<D,C,E,?> builder, MetadataContext metadataContext)
-
-
Method Detail
-
getPathName
public String getPathName()
Description copied from interface:SqmPathSourceThe name of this thing.- Specified by:
getPathNamein interfaceSqmPathSource<D>
-
getCollectionClassification
public CollectionClassification getCollectionClassification()
- Specified by:
getCollectionClassificationin interfacePluralPersistentAttribute<D,C,E>
-
getElementPathSource
public SqmPathSource<E> getElementPathSource()
- Specified by:
getElementPathSourcein interfacePluralPersistentAttribute<D,C,E>
-
findSubPathSource
public SqmPathSource<?> findSubPathSource(String name)
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
public SqmPathSource<?> findSubPathSource(String name, JpaMetamodelImplementor metamodel)
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
public SqmPathSource<?> getIntermediatePathSource(SqmPathSource<?> pathSource)
Description copied from interface:SqmPathSourceReturns the intermediateSqmPathSourcefor a path source previously acquired viaSqmPathSource.findSubPathSource(String).- Specified by:
getIntermediatePathSourcein interfaceSqmPathSource<D>
-
getCollectionType
public PluralAttribute.CollectionType getCollectionType()
- Specified by:
getCollectionTypein interfacePluralAttribute<D,C,E>
-
getExpressibleJavaType
public JavaType<E> getExpressibleJavaType()
Description copied from interface:SqmExpressibleThe Java type descriptor for this expressible- Specified by:
getExpressibleJavaTypein interfaceSqmExpressible<D>
-
getElementType
public SimpleDomainType<E> getElementType()
- Specified by:
getElementTypein interfacePluralAttribute<D,C,E>- Specified by:
getElementTypein interfacePluralPersistentAttribute<D,C,E>
-
getJavaType
public Class<C> getJavaType()
- Specified by:
getJavaTypein interfaceAttribute<D,C>- Overrides:
getJavaTypein classAbstractAttribute<D,C,E>
-
getValueGraphType
public SimpleDomainType<E> getValueGraphType()
- Specified by:
getValueGraphTypein interfacePersistentAttribute<D,C>- Specified by:
getValueGraphTypein interfacePluralPersistentAttribute<D,C,E>- Overrides:
getValueGraphTypein classAbstractAttribute<D,C,E>
-
getKeyGraphType
public SimpleDomainType<?> getKeyGraphType()
- Specified by:
getKeyGraphTypein interfacePersistentAttribute<D,C>- Specified by:
getKeyGraphTypein interfacePluralPersistentAttribute<D,C,E>
-
isAssociation
public boolean isAssociation()
- Specified by:
isAssociationin interfaceAttribute<D,C>
-
isCollection
public boolean isCollection()
- Specified by:
isCollectionin interfaceAttribute<D,C>
-
getBindableType
public Bindable.BindableType getBindableType()
- Specified by:
getBindableTypein interfaceBindable<D>
-
getBindableJavaType
public Class<E> getBindableJavaType()
Description copied from interface:BindableTypeThe expected Java type- Specified by:
getBindableJavaTypein interfaceBindable<D>- Specified by:
getBindableJavaTypein interfaceBindableType<D>
-
createSqmPath
public SqmPath<E> 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<D>
-
createNavigablePath
public NavigablePath createNavigablePath(SqmPath<?> parent, String alias)
- Specified by:
createNavigablePathin interfaceSqmJoinable<D,C>
-
isGeneric
public boolean isGeneric()
Description copied from interface:SqmPathSourceIndicates if this path source is generically typed- Specified by:
isGenericin interfaceSqmPathSource<D>
-
-