Class 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
    Author:
    James Sutherland
    • Field Detail

      • 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.
    • Method Detail

      • addMetadataClass

        public void addMetadataClass​(MetadataClass metadataClass)
        INTERNAL:
      • addMetadataClass

        public void addMetadataClass​(String name,
                                     MetadataClass metadataClass)
        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.