Class SourcePersistentEntity
java.lang.Object
io.micronaut.data.model.AbstractPersistentEntity
io.micronaut.data.processor.model.SourcePersistentEntity
- All Implemented Interfaces:
io.micronaut.core.annotation.AnnotatedElement
,io.micronaut.core.annotation.AnnotationMetadata
,io.micronaut.core.annotation.AnnotationMetadataDelegate
,io.micronaut.core.annotation.AnnotationMetadataProvider
,io.micronaut.core.annotation.AnnotationSource
,io.micronaut.core.naming.Described
,io.micronaut.core.naming.Named
,PersistentElement
,PersistentEntity
,io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.inject.ast.Element>
,io.micronaut.inject.ast.Element
,io.micronaut.inject.ast.TypedElement
@Internal
public class SourcePersistentEntity
extends AbstractPersistentEntity
implements PersistentEntity, io.micronaut.inject.ast.TypedElement
An implementation of
PersistentEntity
that operates on the sources.- Since:
- 1.0
- Author:
- graemerocher
-
Field Summary
Fields inherited from interface io.micronaut.core.annotation.AnnotationMetadata
CLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBER
Fields inherited from interface io.micronaut.core.annotation.AnnotationSource
EMPTY
Fields inherited from interface io.micronaut.inject.ast.Element
EMPTY_ELEMENT_ARRAY
Fields inherited from interface io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate
EMPTY
-
Constructor Summary
ConstructorDescriptionSourcePersistentEntity
(@NonNull io.micronaut.inject.ast.ClassElement classElement, @NonNull Function<io.micronaut.inject.ast.ClassElement, SourcePersistentEntity> entityResolver) Default constructor. -
Method Summary
Modifier and TypeMethodDescriptionio.micronaut.inject.ast.ClassElement
@Nullable SourcePersistentProperty[]
The composite id.@Nullable SourcePersistentProperty
Returns the identity of the instance.@Nullable SourcePersistentProperty
getIdentityByName
(String name) Obtains an identity PersistentProperty instance by name.Obtains a PersistentProperty representing id or version property by name.@NonNull String
getName()
The entity name including any package prefix.@Nullable PersistentEntity
Returns the parent entity of this entity.@NonNull List<SourcePersistentProperty>
A list of properties to be persisted.A list of property names that a persistent.@Nullable SourcePersistentProperty
getPropertyByName
(String name) Obtains a PersistentProperty instance by name.@NonNull io.micronaut.inject.ast.ClassElement
getType()
@Nullable SourcePersistentProperty
Returns the version property.boolean
Has composite identity.boolean
Has identity.boolean
isOwningEntity
(PersistentEntity owner) Returns whether the specified entity asserts ownership over this entity.boolean
boolean
isPublic()
toString()
Methods inherited from class io.micronaut.data.model.AbstractPersistentEntity
equals, findNamingStrategy, getAliasName, 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.AnnotatedElement
isDeclaredNonNull, isDeclaredNullable, isNonNull, isNullable
Methods inherited from interface io.micronaut.core.annotation.AnnotationMetadata
enumValuesSet, enumValuesSet, getValues, hasDeclaredStereotype, hasEvaluatedExpressions, hasStereotypeNonRepeating, isAnnotationPresent, isDeclaredAnnotationPresent
Methods inherited from interface io.micronaut.core.annotation.AnnotationMetadataDelegate
booleanValue, booleanValue, booleanValue, booleanValue, classValue, classValue, classValue, classValue, classValues, classValues, classValues, classValues, copyAnnotationMetadata, doubleValue, doubleValue, doubleValue, enumValue, enumValue, enumValue, enumValue, enumValues, enumValues, enumValues, enumValues, findAnnotation, findAnnotation, findDeclaredAnnotation, findDeclaredAnnotation, findRepeatableAnnotation, findRepeatableAnnotation, getAnnotation, getAnnotation, getAnnotationNameByStereotype, getAnnotationNameByStereotype, getAnnotationNames, getAnnotationNamesByStereotype, getAnnotationNamesByStereotype, getAnnotationType, getAnnotationType, getAnnotationTypeByStereotype, getAnnotationTypeByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getAnnotationValuesByName, getAnnotationValuesByStereotype, getAnnotationValuesByType, getDeclaredAnnotation, getDeclaredAnnotation, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationNames, getDeclaredAnnotationNamesByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationValuesByName, getDeclaredAnnotationValuesByType, getDeclaredMetadata, getDeclaredStereotypeAnnotationNames, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValues, getStereotypeAnnotationNames, getTargetAnnotationMetadata, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValues, getValues, hasAnnotation, hasAnnotation, hasDeclaredAnnotation, hasDeclaredAnnotation, hasDeclaredStereotype, hasDeclaredStereotype, hasDeclaredStereotype, hasPropertyExpressions, hasSimpleAnnotation, hasSimpleDeclaredAnnotation, hasStereotype, hasStereotype, hasStereotype, hasStereotype, intValue, intValue, intValue, isAnnotationPresent, isDeclaredAnnotationPresent, isEmpty, isFalse, isFalse, isPresent, isPresent, isRepeatableAnnotation, isRepeatableAnnotation, isTrue, isTrue, longValue, longValue, stringValue, stringValue, stringValue, stringValue, stringValues, stringValues, stringValues, stringValues, synthesize, synthesize, synthesizeAll, synthesizeAnnotationsByType, synthesizeDeclared, synthesizeDeclared, synthesizeDeclared, synthesizeDeclaredAnnotationsByType
Methods inherited from interface io.micronaut.core.annotation.AnnotationMetadataProvider
getAnnotationMetadata
Methods inherited from interface io.micronaut.inject.ast.Element
annotate, annotate, annotate, annotate, annotate, getDescription, getDescription, getDocumentation, getModifiers, isAbstract, isFinal, isPackagePrivate, isPrivate, isStatic, isSynthetic, removeAnnotation, removeAnnotation, removeAnnotationIf, removeStereotype, removeStereotype, withAnnotationMetadata
Methods inherited from interface io.micronaut.data.model.PersistentElement
getPersistedName
Methods inherited from interface io.micronaut.data.model.PersistentEntity
findNamingStrategy, getAliasName, getAssociations, getDecapitalizedName, getEmbedded, getNamingStrategy, getPath, getPropertyByPath, getPropertyPath, getPropertyPath, getRootEntity, isEmbeddable, isRoot, isVersioned
Methods inherited from interface io.micronaut.inject.ast.TypedElement
getArrayDimensions, getGenericType, isArray, isPrimitive, isVoid
-
Constructor Details
-
SourcePersistentEntity
public SourcePersistentEntity(@NonNull @NonNull io.micronaut.inject.ast.ClassElement classElement, @NonNull @NonNull Function<io.micronaut.inject.ast.ClassElement, SourcePersistentEntity> entityResolver) Default constructor.- Parameters:
classElement
- The class elemententityResolver
- The entity resolver to resolve any additional entities such as associations
-
-
Method Details
-
getName
Description copied from interface:PersistentEntity
The entity name including any package prefix.- Specified by:
getName
in interfaceio.micronaut.inject.ast.Element
- Specified by:
getName
in interfaceio.micronaut.core.naming.Named
- Specified by:
getName
in interfacePersistentEntity
- Returns:
- The entity name
-
getSimpleName
- Specified by:
getSimpleName
in interfaceio.micronaut.inject.ast.Element
- Specified by:
getSimpleName
in interfacePersistentEntity
- Returns:
- The simple name without the package of entity
-
isProtected
public boolean isProtected()- Specified by:
isProtected
in interfaceio.micronaut.inject.ast.Element
-
isPublic
public boolean isPublic()- Specified by:
isPublic
in interfaceio.micronaut.inject.ast.Element
-
getNativeType
- Specified by:
getNativeType
in interfaceio.micronaut.inject.ast.Element
-
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
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
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
Description copied from interface:PersistentEntity
Returns the version property.- Specified by:
getVersion
in interfacePersistentEntity
- Returns:
- the property
-
getPersistentProperties
Description copied from interface:PersistentEntity
A list of properties to be persisted.- Specified by:
getPersistentProperties
in interfacePersistentEntity
- Returns:
- A list of PersistentProperty instances
-
getPropertyByName
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
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
-
getIdOrVersionPropertyByName
Obtains a PersistentProperty representing id or version property by name.- Parameters:
name
- The name of the id or version property- Returns:
- The PersistentProperty used as id or version or null if it doesn't exist
-
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
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
Description copied from interface:PersistentEntity
Returns the parent entity of this entity.- Specified by:
getParentEntity
in interfacePersistentEntity
- Returns:
- The ParentEntity instance
-
getClassElement
public io.micronaut.inject.ast.ClassElement getClassElement()- Returns:
- The class element
-
getType
@NonNull public @NonNull io.micronaut.inject.ast.ClassElement getType()- Specified by:
getType
in interfaceio.micronaut.inject.ast.TypedElement
-
toString
-