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
- TheCollection
typeE
- 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 protected
AbstractPluralAttribute(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:SqmPathSource
The name of this thing.- Specified by:
getPathName
in interfaceSqmPathSource<D>
-
getCollectionClassification
public CollectionClassification getCollectionClassification()
- Specified by:
getCollectionClassification
in interfacePluralPersistentAttribute<D,C,E>
-
getElementPathSource
public SqmPathSource<E> getElementPathSource()
- Specified by:
getElementPathSource
in interfacePluralPersistentAttribute<D,C,E>
-
findSubPathSource
public SqmPathSource<?> findSubPathSource(String name)
Description copied from interface:SqmPathSource
Find aSqmPathSource
by name relative to this source.- Specified by:
findSubPathSource
in interfaceSqmPathSource<D>
- Returns:
- null if the subPathSource is not found
-
findSubPathSource
public SqmPathSource<?> findSubPathSource(String name, JpaMetamodelImplementor metamodel)
Description copied from interface:SqmPathSource
Find aSqmPathSource
by name relative to this source.- Specified by:
findSubPathSource
in interfaceSqmPathSource<D>
- Returns:
- null if the subPathSource is not found
-
getIntermediatePathSource
public SqmPathSource<?> getIntermediatePathSource(SqmPathSource<?> pathSource)
Description copied from interface:SqmPathSource
Returns the intermediateSqmPathSource
for a path source previously acquired viaSqmPathSource.findSubPathSource(String)
.- Specified by:
getIntermediatePathSource
in interfaceSqmPathSource<D>
-
getCollectionType
public PluralAttribute.CollectionType getCollectionType()
- Specified by:
getCollectionType
in interfacePluralAttribute<D,C,E>
-
getExpressibleJavaType
public JavaType<E> getExpressibleJavaType()
Description copied from interface:SqmExpressible
The Java type descriptor for this expressible- Specified by:
getExpressibleJavaType
in interfaceSqmExpressible<D>
-
getElementType
public SimpleDomainType<E> getElementType()
- Specified by:
getElementType
in interfacePluralAttribute<D,C,E>
- Specified by:
getElementType
in interfacePluralPersistentAttribute<D,C,E>
-
getJavaType
public Class<C> getJavaType()
- Specified by:
getJavaType
in interfaceAttribute<D,C>
- Overrides:
getJavaType
in classAbstractAttribute<D,C,E>
-
getValueGraphType
public SimpleDomainType<E> getValueGraphType()
- Specified by:
getValueGraphType
in interfacePersistentAttribute<D,C>
- Specified by:
getValueGraphType
in interfacePluralPersistentAttribute<D,C,E>
- Overrides:
getValueGraphType
in classAbstractAttribute<D,C,E>
-
getKeyGraphType
public SimpleDomainType<?> getKeyGraphType()
- Specified by:
getKeyGraphType
in interfacePersistentAttribute<D,C>
- Specified by:
getKeyGraphType
in interfacePluralPersistentAttribute<D,C,E>
-
isAssociation
public boolean isAssociation()
- Specified by:
isAssociation
in interfaceAttribute<D,C>
-
isCollection
public boolean isCollection()
- Specified by:
isCollection
in interfaceAttribute<D,C>
-
getBindableType
public Bindable.BindableType getBindableType()
- Specified by:
getBindableType
in interfaceBindable<D>
-
getBindableJavaType
public Class<E> getBindableJavaType()
Description copied from interface:BindableType
The expected Java type- Specified by:
getBindableJavaType
in interfaceBindable<D>
- Specified by:
getBindableJavaType
in interfaceBindableType<D>
-
createSqmPath
public SqmPath<E> createSqmPath(SqmPath<?> lhs, SqmPathSource<?> intermediatePathSource)
Description copied from interface:SqmPathSource
Create an SQM path for this source relative to the given left hand side- Specified by:
createSqmPath
in interfaceSqmPathSource<D>
-
createNavigablePath
public NavigablePath createNavigablePath(SqmPath<?> parent, String alias)
- Specified by:
createNavigablePath
in interfaceSqmJoinable<D,C>
-
isGeneric
public boolean isGeneric()
Description copied from interface:SqmPathSource
Indicates if this path source is generically typed- Specified by:
isGeneric
in interfaceSqmPathSource<D>
-
-