public interface PersistentEntity<T,P extends PersistentProperty<P>> extends Iterable<P>
| Modifier and Type | Method and Description |
|---|---|
void |
doWithAssociations(AssociationHandler<P> handler)
|
void |
doWithAssociations(SimpleAssociationHandler handler) |
void |
doWithProperties(PropertyHandler<P> handler)
|
void |
doWithProperties(SimplePropertyHandler handler) |
<A extends Annotation> |
findAnnotation(Class<A> annotationType)
Looks up the annotation of the given type on the
PersistentEntity. |
IdentifierAccessor |
getIdentifierAccessor(Object bean)
Returns the
IdentifierAccessor for the given bean. |
P |
getIdProperty()
Returns the id property of the
PersistentEntity. |
String |
getName()
The entity name including any package prefix.
|
PreferredConstructor<T,P> |
getPersistenceConstructor()
Returns the
PreferredConstructor to be used to instantiate objects of this PersistentEntity. |
Iterable<P> |
getPersistentProperties(Class<? extends Annotation> annotationType)
Returns all properties equipped with an
Annotation of the given type. |
default P |
getPersistentProperty(Class<? extends Annotation> annotationType)
Returns the first property equipped with an
Annotation of the given type. |
P |
getPersistentProperty(String name)
Obtains a
PersistentProperty instance by name. |
<B> PersistentPropertyAccessor<B> |
getPropertyAccessor(B bean)
Returns a
PersistentPropertyAccessor to access property values of the given bean. |
<B> PersistentPropertyPathAccessor<B> |
getPropertyPathAccessor(B bean)
Returns a
PersistentPropertyPathAccessor to access property values of the given bean. |
default <A extends Annotation> |
getRequiredAnnotation(Class<A> annotationType)
Returns the required annotation of the given type on the
PersistentEntity. |
default P |
getRequiredIdProperty()
Returns the id property of the
PersistentEntity. |
default P |
getRequiredPersistentProperty(String name)
Returns the
PersistentProperty with the given name. |
default P |
getRequiredVersionProperty()
Returns the version property of the
PersistentEntity. |
Class<T> |
getType()
Returns the resolved Java type of this entity.
|
Alias |
getTypeAlias()
Returns the alias to be used when storing type information.
|
TypeInformation<T> |
getTypeInformation()
Returns the
TypeInformation backing this PersistentEntity. |
P |
getVersionProperty()
Returns the version property of the
PersistentEntity. |
boolean |
hasIdProperty()
Returns whether the
PersistentEntity has an id property. |
boolean |
hasVersionProperty()
Returns whether the
PersistentEntity has a version property. |
<A extends Annotation> |
isAnnotationPresent(Class<A> annotationType)
Checks whether the annotation of the given type is present on the
PersistentEntity. |
boolean |
isConstructorArgument(PersistentProperty<?> property)
Returns whether the given
PersistentProperty is referred to by a constructor argument of the
PersistentEntity. |
boolean |
isIdProperty(PersistentProperty<?> property)
Returns whether the given
PersistentProperty is the id property of the entity. |
boolean |
isImmutable()
Returns whether the entity is considered immutable, i.e. clients shouldn't attempt to change instances via the
PersistentPropertyAccessor obtained via getPropertyAccessor(Object). |
boolean |
isNew(Object bean)
Returns whether the given bean is considered new according to the static metadata.
|
boolean |
isVersionProperty(PersistentProperty<?> property)
Returns whether the given
PersistentProperty is the version property of the entity. |
boolean |
requiresPropertyPopulation()
Returns whether the entity needs properties to be populated, i.e. if any property exists that's not initialized by
the constructor.
|
forEach, iterator, spliteratorString getName()
@Nullable PreferredConstructor<T,P> getPersistenceConstructor()
PreferredConstructor to be used to instantiate objects of this PersistentEntity.EntityInstantiator or handled by custom conversion
mechanisms entirely.boolean isConstructorArgument(PersistentProperty<?> property)
PersistentProperty is referred to by a constructor argument of the
PersistentEntity.property - can be null.PersistentProperty is referred to by a constructor argument or false
if not or null.boolean isIdProperty(PersistentProperty<?> property)
PersistentProperty is the id property of the entity.property - can be null.boolean isVersionProperty(PersistentProperty<?> property)
PersistentProperty is the version property of the entity.property - can be null.@Nullable P getIdProperty()
PersistentEntity. Can be null in case this is an entity
completely handled by a custom conversion.PersistentEntity.default P getRequiredIdProperty()
PersistentEntity.PersistentEntity.IllegalStateException - if PersistentEntity does not define an id property.@Nullable P getVersionProperty()
PersistentEntity. Can be null in case no version property is
available on the entity.PersistentEntity.default P getRequiredVersionProperty()
PersistentEntity. Can be null in case no version property is
available on the entity.PersistentEntity.IllegalStateException - if PersistentEntity does not define a version property.@Nullable P getPersistentProperty(String name)
PersistentProperty instance by name.name - The name of the property. Can be null.PersistentProperty or null if it doesn't exist.default P getRequiredPersistentProperty(String name)
PersistentProperty with the given name.name - the name of the property. Can be null or empty.PersistentProperty with the given name.IllegalStateException - in case no property with the given name exists.@Nullable default P getPersistentProperty(Class<? extends Annotation> annotationType)
Annotation of the given type.annotationType - must not be null.Iterable<P> getPersistentProperties(Class<? extends Annotation> annotationType)
Annotation of the given type.annotationType - must not be null.Iterator if no match found. Never null.boolean hasIdProperty()
PersistentEntity has an id property. If this call returns true,
getIdProperty() will return a non-null value.boolean hasVersionProperty()
PersistentEntity has a version property. If this call returns true,
getVersionProperty() will return a non-null value.Class<T> getType()
Alias getTypeAlias()
TypeInformation<T> getTypeInformation()
TypeInformation backing this PersistentEntity.void doWithProperties(PropertyHandler<P> handler)
handler - must not be null.void doWithProperties(SimplePropertyHandler handler)
void doWithAssociations(AssociationHandler<P> handler)
handler - must not be null.void doWithAssociations(SimpleAssociationHandler handler)
@Nullable <A extends Annotation> A findAnnotation(Class<A> annotationType)
PersistentEntity.annotationType - must not be null.default <A extends Annotation> A getRequiredAnnotation(Class<A> annotationType) throws IllegalStateException
PersistentEntity.annotationType - must not be null.IllegalStateException - if the required annotationType is not found.<A extends Annotation> boolean isAnnotationPresent(Class<A> annotationType)
PersistentEntity.annotationType - must not be null.Annotation of given type is present.<B> PersistentPropertyAccessor<B> getPropertyAccessor(B bean)
PersistentPropertyAccessor to access property values of the given bean.bean - must not be null.PersistentPropertyAccessor.<B> PersistentPropertyPathAccessor<B> getPropertyPathAccessor(B bean)
PersistentPropertyPathAccessor to access property values of the given bean.bean - must not be null.PersistentPropertyPathAccessorIdentifierAccessor getIdentifierAccessor(Object bean)
IdentifierAccessor for the given bean.bean - must not be null.IdentifierAccessor.boolean isNew(Object bean)
bean - must not be null.IllegalArgumentException - in case the given bean is not an instance of the typ represented by the
PersistentEntity.boolean isImmutable()
PersistentPropertyAccessor obtained via getPropertyAccessor(Object).Immutableboolean requiresPropertyPopulation()
Copyright © 2011–2020 Pivotal Software, Inc.. All rights reserved.