Interface PersistentEntity
- All Superinterfaces:
io.micronaut.core.annotation.AnnotationMetadataProvider, io.micronaut.core.annotation.AnnotationSource, io.micronaut.core.naming.Named, PersistentElement
- All Known Implementing Classes:
AbstractPersistentEntity, RuntimePersistentEntity, SourcePersistentEntity
Models a persistent entity and provides an API that can be used both within the compiler and at runtime. The
AnnotationMetadata provided is consistent both at runtime and compilation time.- Since:
- 1.0
- Author:
- Graeme Rocher
- See Also:
-
Field Summary
Fields inherited from interface io.micronaut.core.annotation.AnnotationSource
EMPTY -
Method Summary
Modifier and TypeMethodDescriptionFind the naming strategy that is defined for the entity.default Collection<? extends Association> A list of the associations for this entity.The composite id.default Stringdefault Collection<Embedded> A list of embedded associations for this entity.Returns the identity of the instance.default @Nullable PersistentPropertygetIdentityByName(String name) Obtains an identity PersistentProperty instance by name.default List<PersistentProperty> Returns all identity properties.getName()The entity name including any package prefix.Obtain the naming strategy for the entity.@Nullable PersistentEntityReturns the parent entity of this entity.Computes a dot separated property path for the given camel case path.Collection<? extends PersistentProperty> A list of properties to be persisted.A list of property names that a persistent.@Nullable PersistentPropertygetPropertyByName(String name) Gets a PersistentProperty instance by name.@Nullable PersistentPropertyGets a PersistentProperty instance by name ignoring the case.default Optional<PersistentProperty> getPropertyByPath(String path) Return a property for a dot separated property path such asfoo.bar.prop.default @Nullable PersistentPropertyPathgetPropertyPath(String path) Return aPersistentPropertyPathby path such asfoo.bar.prop.default @Nullable PersistentPropertyPathgetPropertyPath(String[] propertyPath) Return aPersistentPropertyPathby path such asfoo.bar.prop.default PersistentEntityObtains the root entity of an inheritance hierarchy.default StringReturns the version property.booleanHas composite identity.booleanHas identity.booleanIs the entity versioned for optimistic locking.default booleanbooleanisOwningEntity(PersistentEntity owner) Returns whether the specified entity asserts ownership over this entity.default booleanisRoot()Whether this entity is a root entity.static <T> RuntimePersistentEntity<T> of(io.micronaut.core.beans.BeanIntrospection<T> introspection) Creates a new persistent entity representation of the given type.static <T> RuntimePersistentEntity<T> Creates a new persistent entity representation of the given type.Methods inherited from interface io.micronaut.core.annotation.AnnotationMetadataProvider
findAnnotation, findAnnotation, findDeclaredAnnotation, findDeclaredAnnotation, getAnnotationMetadata, getTargetAnnotationMetadata, isAnnotationPresent, isDeclaredAnnotationPresent, synthesize, synthesizeAll, synthesizeAnnotationsByType, synthesizeDeclared, synthesizeDeclared, synthesizeDeclaredAnnotationsByTypeMethods inherited from interface io.micronaut.core.annotation.AnnotationSource
getAnnotation, getAnnotation, getDeclaredAnnotation, getDeclaredAnnotation, isAnnotationPresent, isDeclaredAnnotationPresent, synthesize, synthesizeDeclaredMethods inherited from interface PersistentElement
getPersistedName
-
Method Details
-
getName
String getName()The entity name including any package prefix.- Specified by:
getNamein interfaceio.micronaut.core.naming.Named- Returns:
- The entity name
-
getAliasName
String getAliasName()- Returns:
- A name to use when referring to this element via an alias.
-
hasCompositeIdentity
boolean hasCompositeIdentity()Has composite identity.- Returns:
- The true if composite identity present
-
hasIdentity
boolean hasIdentity()Has identity.- Returns:
- The true if identity present
-
getCompositeIdentity
PersistentProperty[] getCompositeIdentity()The composite id. The method will throw an exception if there is none or one identity.hasCompositeIdentity()should be used to check for presence of identity.- Returns:
- The composite id or null if there isn't one
-
getIdentity
PersistentProperty getIdentity()Returns the identity of the instance. The method will throw an exception if there is none or more than one identity.hasIdentity()should be used to check for presence of identity.- Returns:
- The identity or null if there isn't one
-
getIdentityProperties
Returns all identity properties.- Returns:
- The identity properties
-
getVersion
PersistentProperty getVersion()Returns the version property. The method will throw an exception if there is no version property. UsehasVersion()to check for presence of version.- Returns:
- the property
-
hasVersion
boolean hasVersion()Is the entity versioned for optimistic locking.- Returns:
- true if versioned
-
getPersistentProperties
Collection<? extends PersistentProperty> getPersistentProperties()A list of properties to be persisted.- Returns:
- A list of PersistentProperty instances
-
getAssociations
A list of the associations for this entity. This is typically a subset of the list returned bygetPersistentProperties()- Returns:
- A list of associations
-
getEmbedded
A list of embedded associations for this entity. This is typically a subset of the list returned bygetPersistentProperties()- Returns:
- A list of associations
-
getPropertyByName
Gets a PersistentProperty instance by name.- Parameters:
name- The name of the property- Returns:
- The PersistentProperty or null if it doesn't exist
-
getPropertyByNameIgnoreCase
Gets a PersistentProperty instance by name ignoring the case.- Parameters:
name- The name of the property- Returns:
- The PersistentProperty or null if it doesn't exist
-
getIdentityByName
Obtains an identity PersistentProperty instance by name.- Parameters:
name- The name of the identity property- Returns:
- The PersistentProperty or null if it doesn't exist
-
getPersistentPropertyNames
Collection<String> getPersistentPropertyNames()A list of property names that a persistent.- Returns:
- A List of strings
-
isEmbeddable
default boolean isEmbeddable()- Returns:
- Is the entity embeddable.
-
getSimpleName
- Returns:
- The simple name without the package of entity
-
getDecapitalizedName
- Returns:
- Returns the name of the class decapitalized form
-
isOwningEntity
Returns whether the specified entity asserts ownership over this entity.- Parameters:
owner- The owning entity- Returns:
- True if it does own this entity
-
getParentEntity
@Nullable PersistentEntity getParentEntity()Returns the parent entity of this entity.- Returns:
- The ParentEntity instance
-
getPath
-
getRootEntity
Obtains the root entity of an inheritance hierarchy.- Returns:
- The root entity
-
isRoot
default boolean isRoot()Whether this entity is a root entity.- Returns:
- True if it is a root entity
-
getPropertyByPath
Return a property for a dot separated property path such asfoo.bar.prop.- Parameters:
path- The path- Returns:
- The property
-
getPropertyPath
Return aPersistentPropertyPathby path such asfoo.bar.prop. .- Parameters:
path- The path- Returns:
- The properties
-
getPropertyPath
Return aPersistentPropertyPathby path such asfoo.bar.prop. .- Parameters:
propertyPath- The path- Returns:
- The properties
-
getNamingStrategy
NamingStrategy getNamingStrategy()Obtain the naming strategy for the entity.- Returns:
- The naming strategy
-
findNamingStrategy
Optional<NamingStrategy> findNamingStrategy()Find the naming strategy that is defined for the entity.- Returns:
- The optional naming strategy
-
of
Creates a new persistent entity representation of the given type. The type must be annotated withIntrospected. This method will create a new instance on demand and does not cache.- Type Parameters:
T- The generic type- Parameters:
type- The type- Returns:
- The entity
-
of
static <T> RuntimePersistentEntity<T> of(io.micronaut.core.beans.BeanIntrospection<T> introspection) Creates a new persistent entity representation of the given type. The type must be annotated withIntrospected. This method will create a new instance on demand and does not cache.- Type Parameters:
T- The generic type- Parameters:
introspection- The introspection- Returns:
- The entity
-