Class 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.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
    • Constructor Summary

      Constructors 
      Constructor Description
      SourcePersistentEntity​(io.micronaut.inject.ast.ClassElement classElement, java.util.function.Function<io.micronaut.inject.ast.ClassElement,​SourcePersistentEntity> entityResolver)
      Default constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      io.micronaut.inject.ast.ClassElement getClassElement()  
      SourcePersistentProperty[] getCompositeIdentity()
      The composite id.
      SourcePersistentProperty getIdentity()
      Returns the identity of the instance.
      SourcePersistentProperty getIdentityByName​(java.lang.String name)
      Obtains an identity PersistentProperty instance by name.
      SourcePersistentProperty getIdOrVersionPropertyByName​(java.lang.String name)
      Obtains a PersistentProperty representing id or version property by name.
      java.lang.String getName()
      The entity name including any package prefix.
      java.lang.Object getNativeType()  
      PersistentEntity getParentEntity()
      Returns the parent entity of this entity.
      java.util.List<SourcePersistentProperty> getPersistentProperties()
      A list of properties to be persisted.
      java.util.List<java.lang.String> getPersistentPropertyNames()
      A list of property names that a persistent.
      SourcePersistentProperty getPropertyByName​(java.lang.String name)
      Obtains a PersistentProperty instance by name.
      java.lang.String getSimpleName()  
      io.micronaut.inject.ast.ClassElement getType()  
      SourcePersistentProperty getVersion()
      Returns the version property.
      boolean hasCompositeIdentity()
      Has composite identity.
      boolean hasIdentity()
      Has identity.
      boolean isOwningEntity​(PersistentEntity owner)
      Returns whether the specified entity asserts ownership over this entity.
      boolean isProtected()  
      boolean isPublic()  
      java.lang.String toString()  
      • 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

        getAnnotationValuesByName, getAnnotationValuesByStereotype, getDeclaredAnnotationValuesByName, getValues, hasDeclaredStereotype, isAnnotationPresent, isDeclaredAnnotationPresent
      • Methods inherited from interface io.micronaut.core.annotation.AnnotationMetadataDelegate

        booleanValue, booleanValue, booleanValue, booleanValue, classValue, classValue, classValue, classValue, classValues, classValues, classValues, classValues, 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, getAnnotationValuesByType, getDeclaredAnnotation, getDeclaredAnnotation, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationNames, getDeclaredAnnotationNamesByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationValuesByType, getDeclaredMetadata, getDeclaredStereotypeAnnotationNames, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValues, getStereotypeAnnotationNames, 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, removeAnnotation, removeAnnotation, removeAnnotationIf, removeStereotype, removeStereotype
      • Methods inherited from interface io.micronaut.inject.ast.TypedElement

        getArrayDimensions, getGenericType, isArray, isPrimitive
    • Constructor Detail

      • SourcePersistentEntity

        public SourcePersistentEntity​(@NonNull
                                      io.micronaut.inject.ast.ClassElement classElement,
                                      @NonNull
                                      java.util.function.Function<io.micronaut.inject.ast.ClassElement,​SourcePersistentEntity> entityResolver)
        Default constructor.
        Parameters:
        classElement - The class element
        entityResolver - The entity resolver to resolve any additional entities such as associations
    • Method Detail

      • getName

        @NonNull
        public java.lang.String getName()
        Description copied from interface: PersistentEntity
        The entity name including any package prefix.
        Specified by:
        getName in interface io.micronaut.inject.ast.Element
        Specified by:
        getName in interface io.micronaut.core.naming.Named
        Specified by:
        getName in interface PersistentEntity
        Returns:
        The entity name
      • getSimpleName

        public java.lang.String getSimpleName()
        Specified by:
        getSimpleName in interface io.micronaut.inject.ast.Element
        Specified by:
        getSimpleName in interface PersistentEntity
        Returns:
        The simple name without the package of entity
      • isProtected

        public boolean isProtected()
        Specified by:
        isProtected in interface io.micronaut.inject.ast.Element
      • isPublic

        public boolean isPublic()
        Specified by:
        isPublic in interface io.micronaut.inject.ast.Element
      • getNativeType

        public java.lang.Object getNativeType()
        Specified by:
        getNativeType in interface io.micronaut.inject.ast.Element
      • getPropertyByName

        @Nullable
        public SourcePersistentProperty getPropertyByName​(java.lang.String name)
        Description copied from interface: PersistentEntity
        Obtains a PersistentProperty instance by name.
        Specified by:
        getPropertyByName in interface PersistentEntity
        Parameters:
        name - The name of the property
        Returns:
        The PersistentProperty or null if it doesn't exist
      • getIdentityByName

        @Nullable
        public SourcePersistentProperty getIdentityByName​(java.lang.String name)
        Description copied from interface: PersistentEntity
        Obtains an identity PersistentProperty instance by name.
        Specified by:
        getIdentityByName in interface PersistentEntity
        Parameters:
        name - The name of the identity property
        Returns:
        The PersistentProperty or null if it doesn't exist
      • getIdOrVersionPropertyByName

        public SourcePersistentProperty getIdOrVersionPropertyByName​(java.lang.String name)
        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

        @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 interface PersistentEntity
        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 interface PersistentEntity
        Parameters:
        owner - The owning entity
        Returns:
        True if it does own this entity
      • getClassElement

        public io.micronaut.inject.ast.ClassElement getClassElement()
        Returns:
        The class element
      • getType

        @NonNull
        public io.micronaut.inject.ast.ClassElement getType()
        Specified by:
        getType in interface io.micronaut.inject.ast.TypedElement
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object