Package io.micronaut.data.model
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.@Nullable PersistentProperty[]The composite id.default Stringdefault Collection<Embedded> A list of embedded associations for this entity.@Nullable PersistentPropertyReturns 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 String@Nullable PersistentPropertyReturns the version property.default booleanHas composite identity.default booleanHas identity.default booleanbooleanisOwningEntity(PersistentEntity owner) Returns whether the specified entity asserts ownership over this entity.default booleanisRoot()Whether this entity is a root entity.default booleanIs the entity versioned for optimistic locking.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 io.micronaut.data.model.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
default boolean hasCompositeIdentity()Has composite identity.- Returns:
- The true if composite identity present
-
hasIdentity
default boolean hasIdentity()Has identity.- Returns:
- The true if identity present
-
getCompositeIdentity
@Nullable PersistentProperty[] getCompositeIdentity()The composite id.- Returns:
- The composite id or null if there isn't one
-
getIdentity
@Nullable PersistentProperty getIdentity()Returns the identity of the instance.- Returns:
- The identity or null if there isn't one
-
getIdentityProperties
Returns all identity properties.- Returns:
- The identity properties
-
getVersion
@Nullable PersistentProperty getVersion()Returns the version property.- Returns:
- the property
-
isVersioned
default boolean isVersioned()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
Computes a dot separated property path for the given camel case path.- Parameters:
camelCasePath- The camel case path- Returns:
- The dot separated version or null if it cannot be computed
-
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
-