public abstract class AbstractIdentifiableType<X> extends AbstractManagedType<X> implements IdentifiableType<X>, Serializable
IdentifiableType
types. JPA defines
identifiable types as entities or mapped-superclasses. Basically things to which an
identifier can be attached.
NOTE : Currently we only really have support for direct entities in the Hibernate metamodel
as the information for them is consumed into the closest actual entity subclass(es) in the
internal Hibernate mapping-metamodel.Modifier and Type | Class and Description |
---|---|
static interface |
AbstractIdentifiableType.Builder<X> |
Type.PersistenceType
Constructor and Description |
---|
AbstractIdentifiableType(Class<X> javaType,
AbstractIdentifiableType<? super X> superType,
boolean hasIdentifierProperty,
boolean versioned) |
Modifier and Type | Method and Description |
---|---|
protected void |
checkDeclaredId()
Centralized check to ensure the id is actually declared on the class mapped here, as opposed to a
super class.
|
protected void |
checkDeclaredVersion()
Centralized check to ensure the version (if one) is actually declared on the class mapped here, as opposed to a
super class.
|
protected void |
checkSimpleId()
Centralized check to ensure the id for this hierarchy is a simple one (i.e., does not use
an id-class).
|
AbstractIdentifiableType.Builder<X> |
getBuilder() |
<Y> SingularAttribute<X,Y> |
getDeclaredId(Class<Y> javaType)
Return the attribute that corresponds to the id attribute
declared by the entity or mapped superclass.
|
SingularAttribute<X,?> |
getDeclaredVersion()
For used to retrieve the declared version when populating the static metamodel.
|
<Y> SingularAttribute<X,Y> |
getDeclaredVersion(Class<Y> javaType)
Return the attribute that corresponds to the version
attribute declared by the entity or mapped superclass.
|
<Y> SingularAttribute<? super X,Y> |
getId(Class<Y> javaType)
Return the attribute that corresponds to the id attribute of
the entity or mapped superclass.
|
Set<SingularAttribute<? super X,?>> |
getIdClassAttributes()
Return the attributes corresponding to the id class of the
identifiable type.
|
Type<?> |
getIdType()
Return the type that represents the type of the id.
|
AbstractIdentifiableType<? super X> |
getSupertype()
Return the identifiable type that corresponds to the most
specific mapped superclass or entity extended by the entity
or mapped superclass.
|
<Y> SingularAttribute<? super X,Y> |
getVersion(Class<Y> javaType)
Return the attribute that corresponds to the version
attribute of the entity or mapped superclass.
|
boolean |
hasDeclaredVersionAttribute() |
boolean |
hasSingleIdAttribute()
Whether the identifiable type has a single id attribute.
|
boolean |
hasVersionAttribute()
Whether the identifiable type has a version attribute.
|
protected abstract boolean |
requiresSupertypeForNonDeclaredIdentifier()
Indicates if a non-null super type is required to provide the
identifier attribute(s) if this object does not have a declared
identifier.
|
protected AbstractIdentifiableType<? super X> |
requireSupertype() |
getAttribute, getAttributes, getCollection, getCollection, getDeclaredAttribute, getDeclaredAttributes, getDeclaredCollection, getDeclaredCollection, getDeclaredList, getDeclaredList, getDeclaredMap, getDeclaredMap, getDeclaredPluralAttributes, getDeclaredSet, getDeclaredSet, getDeclaredSingularAttribute, getDeclaredSingularAttribute, getDeclaredSingularAttributes, getList, getList, getMap, getMap, getPluralAttributes, getSet, getSet, getSingularAttribute, getSingularAttribute, getSingularAttributes, isPrimitiveVariant, lock
getJavaType, getTypeName, setTypeName
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAttribute, getAttributes, getCollection, getCollection, getDeclaredAttribute, getDeclaredAttributes, getDeclaredCollection, getDeclaredCollection, getDeclaredList, getDeclaredList, getDeclaredMap, getDeclaredMap, getDeclaredPluralAttributes, getDeclaredSet, getDeclaredSet, getDeclaredSingularAttribute, getDeclaredSingularAttribute, getDeclaredSingularAttributes, getList, getList, getMap, getMap, getPluralAttributes, getSet, getSet, getSingularAttribute, getSingularAttribute, getSingularAttributes
getJavaType, getPersistenceType
public AbstractIdentifiableType(Class<X> javaType, AbstractIdentifiableType<? super X> superType, boolean hasIdentifierProperty, boolean versioned)
public AbstractIdentifiableType<? super X> getSupertype()
getSupertype
in interface IdentifiableType<X>
getSupertype
in class AbstractManagedType<X>
protected abstract boolean requiresSupertypeForNonDeclaredIdentifier()
protected AbstractIdentifiableType<? super X> requireSupertype()
public boolean hasSingleIdAttribute()
hasSingleIdAttribute
in interface IdentifiableType<X>
public <Y> SingularAttribute<? super X,Y> getId(Class<Y> javaType)
getId
in interface IdentifiableType<X>
javaType
- the type of the represented id attributeprotected void checkSimpleId()
checkIdClass()
public <Y> SingularAttribute<X,Y> getDeclaredId(Class<Y> javaType)
getDeclaredId
in interface IdentifiableType<X>
javaType
- the type of the represented declared
id attributeprotected void checkDeclaredId()
public Type<?> getIdType()
getIdType
in interface IdentifiableType<X>
public Set<SingularAttribute<? super X,?>> getIdClassAttributes()
getIdClassAttributes
in interface IdentifiableType<X>
public boolean hasVersionAttribute()
hasVersionAttribute
in interface IdentifiableType<X>
public boolean hasDeclaredVersionAttribute()
public <Y> SingularAttribute<? super X,Y> getVersion(Class<Y> javaType)
getVersion
in interface IdentifiableType<X>
javaType
- the type of the represented version attributepublic <Y> SingularAttribute<X,Y> getDeclaredVersion(Class<Y> javaType)
getDeclaredVersion
in interface IdentifiableType<X>
javaType
- the type of the represented declared version
attributepublic SingularAttribute<X,?> getDeclaredVersion()
protected void checkDeclaredVersion()
public AbstractIdentifiableType.Builder<X> getBuilder()
getBuilder
in class AbstractManagedType<X>
Copyright © 2018 JBoss by Red Hat. All rights reserved.