Package io.micronaut.data.model.runtime
Class RuntimePersistentEntity<T>
- java.lang.Object
-
- io.micronaut.data.model.AbstractPersistentEntity
-
- io.micronaut.data.model.runtime.RuntimePersistentEntity<T>
-
- Type Parameters:
T
- The type
- All Implemented Interfaces:
io.micronaut.core.annotation.AnnotationMetadataProvider
,io.micronaut.core.annotation.AnnotationSource
,io.micronaut.core.naming.Named
,PersistentElement
,PersistentEntity
public class RuntimePersistentEntity<T> extends AbstractPersistentEntity implements PersistentEntity
Runtime implementation ofPersistentEntity
that uses pre-computedIntrospected
bean data and is completely stateless.- Since:
- 1.0
- Author:
- graemerocher
-
-
Constructor Summary
Constructors Constructor Description RuntimePersistentEntity(io.micronaut.core.beans.BeanIntrospection<T> introspection)
Default constructor.RuntimePersistentEntity(java.lang.Class<T> type)
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
cascadesPersist()
Does cascade the persist to any of the associations.boolean
cascadesUpdate()
Does cascade the update to any of the associations.java.lang.String
getAliasName()
java.util.Collection<RuntimeAssociation<T>>
getAssociations()
A list of the associations for this entity.RuntimePersistentProperty<T>[]
getCompositeIdentity()
The composite id.RuntimePersistentProperty<T>[]
getConstructorArguments()
protected RuntimePersistentEntity<T>
getEntity(java.lang.Class<T> type)
Obtain an entity for the given type.RuntimePersistentProperty<T>
getIdentity()
Returns the identity of the instance.RuntimePersistentProperty<T>
getIdentityByName(java.lang.String name)
Obtains an identity PersistentProperty instance by name.io.micronaut.core.beans.BeanIntrospection<T>
getIntrospection()
java.lang.String
getName()
The entity name including any package prefix.PersistentEntity
getParentEntity()
Returns the parent entity of this entity.java.util.Collection<RuntimePersistentProperty<T>>
getPersistentProperties()
A list of properties to be persisted.java.util.List<java.lang.String>
getPersistentPropertyNames()
A list of property names that a persistent.RuntimePersistentProperty<T>
getPropertyByName(java.lang.String name)
Obtains a PersistentProperty instance by name.RuntimePersistentProperty<T>
getVersion()
Returns the version property.boolean
hasAutoPopulatedProperties()
boolean
hasCompositeIdentity()
Has composite identity.boolean
hasIdentity()
Has identity.boolean
hasPostLoadEventListeners()
Does the entity have post-load event listeners.boolean
hasPostPersistEventListeners()
Does the entity have post-persist event listeners.boolean
hasPostRemoveEventListeners()
Does the entity have post-remove event listeners.boolean
hasPostUpdateEventListeners()
Does the entity have post-update event listeners.boolean
hasPrePersistEventListeners()
Does the entity have pre-persist event listeners.boolean
hasPreRemoveEventListeners()
Does the entity have pre-remove event listeners.boolean
hasPreUpdateEventListeners()
Does the entity have pre-update event listeners.boolean
isOwningEntity(PersistentEntity owner)
Returns whether the specified entity asserts ownership over this entity.protected AttributeConverter<java.lang.Object,java.lang.Object>
resolveConverter(java.lang.Class<?> converterClass)
Resolves a converter instance.java.lang.String
toString()
-
Methods inherited from class io.micronaut.data.model.AbstractPersistentEntity
equals, findNamingStrategy, getAnnotationMetadata, getNamingStrategy, getPersistedName, hashCode
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.micronaut.core.annotation.AnnotationMetadataProvider
findAnnotation, findAnnotation, findDeclaredAnnotation, findDeclaredAnnotation, getAnnotationMetadata, isAnnotationPresent, isDeclaredAnnotationPresent, synthesize, synthesizeAll, synthesizeAnnotationsByType, synthesizeDeclared, synthesizeDeclared, synthesizeDeclaredAnnotationsByType
-
Methods inherited from interface io.micronaut.core.annotation.AnnotationSource
getAnnotation, getAnnotation, getDeclaredAnnotation, getDeclaredAnnotation, isAnnotationPresent, isDeclaredAnnotationPresent, synthesize, synthesizeDeclared
-
Methods inherited from interface io.micronaut.data.model.PersistentElement
getPersistedName
-
Methods inherited from interface io.micronaut.data.model.PersistentEntity
findNamingStrategy, getDecapitalizedName, getEmbedded, getNamingStrategy, getPath, getPropertyByPath, getPropertyPath, getPropertyPath, getRootEntity, getSimpleName, isEmbeddable, isRoot, isVersioned
-
-
-
-
Constructor Detail
-
RuntimePersistentEntity
public RuntimePersistentEntity(@NonNull java.lang.Class<T> type)
Default constructor.- Parameters:
type
- The type
-
RuntimePersistentEntity
public RuntimePersistentEntity(@NonNull io.micronaut.core.beans.BeanIntrospection<T> introspection)
Default constructor.- Parameters:
introspection
- The introspection
-
-
Method Detail
-
resolveConverter
@NonNull protected AttributeConverter<java.lang.Object,java.lang.Object> resolveConverter(@NonNull java.lang.Class<?> converterClass)
Resolves a converter instance.- Parameters:
converterClass
- The converter class- Returns:
- converter instance
-
cascadesPersist
public boolean cascadesPersist()
Does cascade the persist to any of the associations.- Returns:
- True if it does
-
cascadesUpdate
public boolean cascadesUpdate()
Does cascade the update to any of the associations.- Returns:
- True if it does
-
hasPrePersistEventListeners
public boolean hasPrePersistEventListeners()
Does the entity have pre-persist event listeners.- Returns:
- True if it does
-
hasPreRemoveEventListeners
public boolean hasPreRemoveEventListeners()
Does the entity have pre-remove event listeners.- Returns:
- True if it does
-
hasPreUpdateEventListeners
public boolean hasPreUpdateEventListeners()
Does the entity have pre-update event listeners.- Returns:
- True if it does
-
hasPostPersistEventListeners
public boolean hasPostPersistEventListeners()
Does the entity have post-persist event listeners.- Returns:
- True if it does
-
hasPostUpdateEventListeners
public boolean hasPostUpdateEventListeners()
Does the entity have post-update event listeners.- Returns:
- True if it does
-
hasPostRemoveEventListeners
public boolean hasPostRemoveEventListeners()
Does the entity have post-remove event listeners.- Returns:
- True if it does
-
hasPostLoadEventListeners
public boolean hasPostLoadEventListeners()
Does the entity have post-load event listeners.- Returns:
- True if it does
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getAliasName
@NonNull public java.lang.String getAliasName()
- Specified by:
getAliasName
in interfacePersistentEntity
- Overrides:
getAliasName
in classAbstractPersistentEntity
- Returns:
- A name to use when referring to this element via an alias.
-
getIntrospection
public io.micronaut.core.beans.BeanIntrospection<T> getIntrospection()
- Returns:
- The underlying introspection.
-
getName
@NonNull public java.lang.String getName()
Description copied from interface:PersistentEntity
The entity name including any package prefix.- Specified by:
getName
in interfaceio.micronaut.core.naming.Named
- Specified by:
getName
in interfacePersistentEntity
- Returns:
- The entity name
-
hasCompositeIdentity
public boolean hasCompositeIdentity()
Description copied from interface:PersistentEntity
Has composite identity.- Specified by:
hasCompositeIdentity
in interfacePersistentEntity
- Returns:
- The true if composite identity present
-
hasIdentity
public boolean hasIdentity()
Description copied from interface:PersistentEntity
Has identity.- Specified by:
hasIdentity
in interfacePersistentEntity
- Returns:
- The true if identity present
-
getCompositeIdentity
@Nullable public RuntimePersistentProperty<T>[] getCompositeIdentity()
Description copied from interface:PersistentEntity
The composite id.- Specified by:
getCompositeIdentity
in interfacePersistentEntity
- Returns:
- The composite id or null if there isn't one
-
getIdentity
@Nullable public RuntimePersistentProperty<T> getIdentity()
Description copied from interface:PersistentEntity
Returns the identity of the instance.- Specified by:
getIdentity
in interfacePersistentEntity
- Returns:
- The identity or null if there isn't one
-
getVersion
@Nullable public RuntimePersistentProperty<T> getVersion()
Description copied from interface:PersistentEntity
Returns the version property.- Specified by:
getVersion
in interfacePersistentEntity
- Returns:
- the property
-
getPersistentProperties
@NonNull public java.util.Collection<RuntimePersistentProperty<T>> getPersistentProperties()
Description copied from interface:PersistentEntity
A list of properties to be persisted.- Specified by:
getPersistentProperties
in interfacePersistentEntity
- Returns:
- A list of PersistentProperty instances
-
getAssociations
@NonNull public java.util.Collection<RuntimeAssociation<T>> getAssociations()
Description copied from interface:PersistentEntity
A list of the associations for this entity. This is typically a subset of the list returned byPersistentEntity.getPersistentProperties()
- Specified by:
getAssociations
in interfacePersistentEntity
- Returns:
- A list of associations
-
getPropertyByName
@Nullable public RuntimePersistentProperty<T> getPropertyByName(java.lang.String name)
Description copied from interface:PersistentEntity
Obtains a PersistentProperty instance by name.- Specified by:
getPropertyByName
in interfacePersistentEntity
- Parameters:
name
- The name of the property- Returns:
- The PersistentProperty or null if it doesn't exist
-
getIdentityByName
@Nullable public RuntimePersistentProperty<T> getIdentityByName(java.lang.String name)
Description copied from interface:PersistentEntity
Obtains an identity PersistentProperty instance by name.- Specified by:
getIdentityByName
in interfacePersistentEntity
- Parameters:
name
- The name of the identity property- Returns:
- The PersistentProperty or null if it doesn't exist
-
getPersistentPropertyNames
@NonNull public java.util.List<java.lang.String> getPersistentPropertyNames()
Description copied from interface:PersistentEntity
A list of property names that a persistent.- Specified by:
getPersistentPropertyNames
in interfacePersistentEntity
- Returns:
- A List of strings
-
isOwningEntity
public boolean isOwningEntity(PersistentEntity owner)
Description copied from interface:PersistentEntity
Returns whether the specified entity asserts ownership over this entity.- Specified by:
isOwningEntity
in interfacePersistentEntity
- Parameters:
owner
- The owning entity- Returns:
- True if it does own this entity
-
getParentEntity
@Nullable public PersistentEntity getParentEntity()
Description copied from interface:PersistentEntity
Returns the parent entity of this entity.- Specified by:
getParentEntity
in interfacePersistentEntity
- Returns:
- The ParentEntity instance
-
getEntity
protected RuntimePersistentEntity<T> getEntity(java.lang.Class<T> type)
Obtain an entity for the given type.- Parameters:
type
- The type- Returns:
- The entity
- Throws:
io.micronaut.core.beans.exceptions.IntrospectionException
- if the entity doesn't exist
-
getConstructorArguments
public RuntimePersistentProperty<T>[] getConstructorArguments()
- Returns:
- The constructor arguments.
-
hasAutoPopulatedProperties
public boolean hasAutoPopulatedProperties()
- Returns:
- Returns true if the entity has auto-populated properties.
-
-