Class AnnotationMetaEntity

java.lang.Object
org.hibernate.processor.annotation.AnnotationMeta
org.hibernate.processor.annotation.AnnotationMetaEntity
All Implemented Interfaces:
ImportContext, Metamodel
Direct Known Subclasses:
NonManagedMetamodel

public class AnnotationMetaEntity extends AnnotationMeta
Class used to collect meta information about an annotated type (entity, embeddable or mapped superclass). Also repurposed for any type with "auxiliary" annotations like @NamedQuery, @FetchProfile, @Find, or @HQL. We do not distinguish these two kinds of thing, since an entity class may @NamedQuery or @FetchProfile annotations. Entities may not, however, have methods annotated @Find or @HQL, since entity classes are usually concrete classes.
  • Constructor Details

    • AnnotationMetaEntity

      public AnnotationMetaEntity(TypeElement element, Context context, boolean managed, boolean jakartaDataStaticMetamodel, @Nullable AnnotationMeta parent)
  • Method Details

    • create

      public static AnnotationMetaEntity create(TypeElement element, Context context)
    • create

      public static AnnotationMetaEntity create(TypeElement element, Context context, boolean lazilyInitialised, boolean managed, boolean jakartaData, @Nullable AnnotationMetaEntity parent)
    • getMemberType

      public @Nullable String getMemberType(String entityType, String memberName)
    • getEntityAccessTypeInfo

      public AccessTypeInformation getEntityAccessTypeInfo()
    • getContext

      public final Context getContext()
    • isImplementation

      public boolean isImplementation()
      Description copied from interface: Metamodel
      Is this an implementation of a repository interface?
    • isJakartaDataStyle

      public boolean isJakartaDataStyle()
      Description copied from interface: Metamodel
      Is it a Jakarta Data style metamodel interface?
    • isInitialized

      public boolean isInitialized()
    • getSimpleName

      public final String getSimpleName()
    • getQualifiedName

      public final String getQualifiedName()
    • getSuperTypeElement

      public @Nullable Element getSuperTypeElement()
    • getPackageName

      public String getPackageName()
    • getMembers

      public List<MetaAttribute> getMembers()
    • addInnerClass

      public void addInnerClass(AnnotationMetaEntity metaEntity)
    • isMetaComplete

      public boolean isMetaComplete()
    • mergeInMembers

      public void mergeInMembers(Metamodel other)
    • generateImports

      public final String generateImports()
    • importType

      public final String importType(String fqcn)
      Description copied from interface: ImportContext
      Add fqcn to the import list. Returns fqcn as needed in source code. Attempts to handle fqcn with array and generics references.

      e.g. java.util.Collection<org.marvel.Hulk> imports java.util.Collection and returns Collection org.marvel.Hulk[] imports org.marvel.Hulk and returns Hulk

      Parameters:
      fqcn - Fully qualified class name of the type to import.
      Returns:
      import string
    • staticImport

      public final String staticImport(String fqcn, String member)
    • getElement

      public final TypeElement getElement()
    • isInjectable

      public boolean isInjectable()
      Description copied from interface: Metamodel
      Can this be injected into things?
    • scope

      public String scope()
      Description copied from interface: Metamodel
      What is its CDI scope for injection?
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • init

      protected void init()
    • getSessionVariableName

      protected String getSessionVariableName()
      Overrides:
      getSessionVariableName in class AnnotationMeta
    • message

      public void message(Element method, String message, Diagnostic.Kind severity)
    • message

      public void message(Element method, AnnotationMirror mirror, String message, Diagnostic.Kind severity)
    • message

      public void message(Element method, AnnotationMirror mirror, AnnotationValue value, String message, Diagnostic.Kind severity)
    • inheritedAnnotations

      public List<AnnotationMirror> inheritedAnnotations()
    • javadoc

      public String javadoc()