Class AnnotationPersistenceMetaDataParser

java.lang.Object
org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser
All Implemented Interfaces:
MetaDataModes
Direct Known Subclasses:
AnnotationPersistenceMappingParser

public class AnnotationPersistenceMetaDataParser extends Object implements MetaDataModes
Persistence annotation metadata parser. Currently does not parse deployment descriptors.
Author:
Abe White, Steve Kim
  • Field Details

  • Constructor Details

    • AnnotationPersistenceMetaDataParser

      public AnnotationPersistenceMetaDataParser(OpenJPAConfiguration conf)
      Constructor; supply configuration.
  • Method Details

    • getConfiguration

      public OpenJPAConfiguration getConfiguration()
      Configuration supplied on construction.
    • getLog

      public Log getLog()
      Metadata log.
    • getRepository

      public MetaDataRepository getRepository()
      Returns the repository for this parser. If none has been set, create a new repository and sets it.
    • setRepository

      public void setRepository(MetaDataRepository repos)
      Set the metadata repository for this parser.
    • getEnvClassLoader

      public ClassLoader getEnvClassLoader()
      Return the environmental class loader to pass on to parsed metadata instances.
    • setEnvClassLoader

      public void setEnvClassLoader(ClassLoader loader)
      Set the environmental class loader to pass on to parsed metadata instances.
    • getMappingOverride

      public boolean getMappingOverride()
      Whether to allow later parses of mapping information to override earlier information for the same class. Defaults to false. Useful when a tool is mapping a class, so that annotation partial mapping information can be used even when mappings are stored in another location.
    • setMappingOverride

      public void setMappingOverride(boolean override)
      Whether to allow later parses of mapping information to override earlier information for the same class. Defaults to false. Useful when a tool is mapping a class, so that annotation partial mapping information can be used even when mappings are stored in another location.
    • getMode

      public int getMode()
      The parse mode.
    • setMode

      public void setMode(int mode, boolean on)
      The parse mode.
    • setMode

      public void setMode(int mode)
      The parse mode.
    • isMetaDataMode

      protected boolean isMetaDataMode()
      Convenience method for interpreting getMode().
    • isQueryMode

      protected boolean isQueryMode()
      Convenience method for interpreting getMode().
    • isMappingMode

      protected boolean isMappingMode()
      Convenience method for interpreting getMode().
    • isMappingOverrideMode

      protected boolean isMappingOverrideMode()
      Returns true if we're in mapping mode or in metadata mode with mapping overide enabled.
    • clear

      public void clear()
      Clear caches.
    • parse

      public void parse(Class<?> cls)
      Parse persistence metadata for the given class.
    • parsePackageMappingAnnotations

      protected void parsePackageMappingAnnotations(Package pkg)
      Parse package mapping annotations.
    • handleUnknownPackageAnnotation

      protected boolean handleUnknownPackageAnnotation(Package pkg, Annotation anno)
      Allow subclasses to handle unknown annotations.
    • parseClassMappingAnnotations

      protected void parseClassMappingAnnotations(ClassMetaData meta)
      Parse class mapping annotations.
    • handleUnknownClassAnnotation

      protected boolean handleUnknownClassAnnotation(ClassMetaData meta, Annotation anno)
      Allow subclasses to handle unknown annotations.
    • getSourceFile

      protected File getSourceFile()
      Determine the source file we're parsing.
    • parseCallbackMethods

      public static Collection<LifecycleCallbacks>[] parseCallbackMethods(Class<?> cls, Collection<LifecycleCallbacks>[] callbacks, boolean sups, boolean listener, MetaDataRepository repos)
      Parse callback methods into the given array, and return that array, creating one if null. Each index into the array is a collection of callback adapters for that numeric event type.
      Parameters:
      sups - whether to scan superclasses
      listener - whether this is a listener or not
    • parseMemberMappingAnnotations

      protected void parseMemberMappingAnnotations(FieldMetaData fmd)
      Parse member mapping components.
    • handleUnknownMemberAnnotation

      protected boolean handleUnknownMemberAnnotation(FieldMetaData fmd, Annotation anno)
      Allow subclasses to handle unknown annotations.
    • toOverrideType

      public static Class<?> toOverrideType(Class<?> cls)
      Convert the given class to its OpenJPA type override equivalent.
    • parseLobMapping

      protected void parseLobMapping(FieldMetaData fmd)
      Setup the field as a LOB mapping.
    • normalizeSequenceName

      protected String normalizeSequenceName(String seqName)
    • normalizeSchemaName

      protected String normalizeSchemaName(String schName)
    • normalizeCatalogName

      protected String normalizeCatalogName(String catName)
    • toKernelParameterMode

      protected MultiQueryMetaData.Parameter.Mode toKernelParameterMode(jakarta.persistence.ParameterMode mode)
    • addSourceInfo

      protected void addSourceInfo(AnnotatedElement el, QueryMetaData meta)
    • addHints

      protected void addHints(QueryMetaData meta, jakarta.persistence.QueryHint... hints)