java.lang.Object
org.eclipse.persistence.internal.jpa.metadata.accessors.objects.MetadataFactory
Direct Known Subclasses:
MetadataAsmFactory

public abstract class MetadataFactory extends Object
INTERNAL: A metadata factory is used to extract class information. It is used when processing the metadata model. By default, metadata processing uses an ASM factory, however tools that require a different form of processing, like the APT processor which uses mirrors, can build their own factory by sub-classing this one and supply it at processing time.
Since:
EclipseLink 1.2
  • Field Details

    • ALLOW_JDK

      public static boolean ALLOW_JDK
      Backdoor to allow mapping of JDK classes.
    • m_metadataClasses

      protected Map<String,MetadataClass> m_metadataClasses
      Stores all metadata for classes.
    • m_logger

      protected MetadataLogger m_logger
    • m_loader

      protected ClassLoader m_loader
  • Constructor Details

  • Method Details

    • addMetadataClass

      public void addMetadataClass(MetadataClass metadataClass)
      INTERNAL:
    • addMetadataClass

      public void addMetadataClass(String name, MetadataClass metadataClass)
      INTERNAL:
    • getLoader

      public ClassLoader getLoader()
      INTERNAL:
    • getLogger

      public MetadataLogger getLogger()
      INTERNAL:
    • getMetadataClasses

      protected Map<String,MetadataClass> getMetadataClasses()
      INTERNAL:
    • metadataClassExists

      protected boolean metadataClassExists(String className)
      INTERNAL:
    • getMetadataClass

      public abstract MetadataClass getMetadataClass(String className)
      Return the class metadata for the class name.
    • getMetadataClass

      public abstract MetadataClass getMetadataClass(String className, boolean isLazy)
      Return the class metadata for the class name.
    • setLoader

      public void setLoader(ClassLoader loader)
      INTERNAL:
    • setLogger

      public void setLogger(MetadataLogger logger)
      INTERNAL:
    • resolveGenericTypes

      public abstract void resolveGenericTypes(MetadataClass child, List<String> genericTypes, MetadataClass parent, MetadataDescriptor descriptor)
      INTERNAL: This method resolves generic types based on the ASM class metadata. Unless every other factory (e.g. APT mirror factory) respects the generic format as built from ASM this method will not work since it is very tied to it.