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 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
-
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.
-
-