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:
-
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
ModifierConstructorDescriptionprotected
AbstractPluralAttribute
(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 aSqmPathSource
by name relative to this source.findSubPathSource
(String name, JpaMetamodelImplementor metamodel) Find aSqmPathSource
by name relative to this source.The expected Java typeThe Java type descriptor for this expressiblegetIntermediatePathSource
(SqmPathSource<?> pathSource) Returns the intermediateSqmPathSource
for a path source previously acquired viaSqmPathSource.findSubPathSource(String)
.The name of this thing.boolean
boolean
boolean
Indicates 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, 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 Details
-
AbstractPluralAttribute
protected AbstractPluralAttribute(PluralAttributeBuilder<D, C, E, ?> builder, MetadataContext metadataContext)
-
-
Method Details
-
getPathName
Description copied from interface:SqmPathSource
The name of this thing.- Specified by:
getPathName
in interfaceSqmPathSource<D>
-
getCollectionClassification
- Specified by:
getCollectionClassification
in interfacePluralPersistentAttribute<D,
C, E>
-
getElementPathSource
- Specified by:
getElementPathSource
in interfacePluralPersistentAttribute<D,
C, E>
-
findSubPathSource
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
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
Description copied from interface:SqmPathSource
Returns the intermediateSqmPathSource
for a path source previously acquired viaSqmPathSource.findSubPathSource(String)
.- Specified by:
getIntermediatePathSource
in interfaceSqmPathSource<D>
-
getCollectionType
- Specified by:
getCollectionType
in interfacePluralAttribute<D,
C, E>
-
getExpressibleJavaType
Description copied from interface:SqmExpressible
The Java type descriptor for this expressible- Specified by:
getExpressibleJavaType
in interfaceSqmExpressible<D>
-
getElementType
- Specified by:
getElementType
in interfacePluralAttribute<D,
C, E> - Specified by:
getElementType
in interfacePluralPersistentAttribute<D,
C, E>
-
getJavaType
- Specified by:
getJavaType
in interfaceAttribute<D,
C> - Overrides:
getJavaType
in classAbstractAttribute<D,
C, 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
- 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
- Specified by:
getBindableType
in interfaceBindable<D>
-
getBindableJavaType
Description copied from interface:BindableType
The expected Java type- Specified by:
getBindableJavaType
in interfaceBindable<D>
- Specified by:
getBindableJavaType
in interfaceBindableType<D>
-
createSqmPath
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>
-
isGeneric
public boolean isGeneric()Description copied from interface:SqmPathSource
Indicates if this path source is generically typed- Specified by:
isGeneric
in interfaceSqmPathSource<D>
-