Class MetadataFactory
- java.lang.Object
-
- org.eclipse.persistence.internal.jpa.metadata.accessors.objects.MetadataFactory
-
- Direct Known Subclasses:
MetadataAsmFactory
public abstract class MetadataFactory extends java.lang.ObjectINTERNAL: 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 Summary
Fields Modifier and Type Field Description static booleanALLOW_JDKBackdoor to allow mapping of JDK classes.protected java.lang.ClassLoaderm_loaderprotected MetadataLoggerm_loggerprotected java.util.Map<java.lang.String,MetadataClass>m_metadataClassesStores all metadata for classes.
-
Constructor Summary
Constructors Constructor Description MetadataFactory(MetadataLogger logger, java.lang.ClassLoader loader)INTERNAL:
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddMetadataClass(java.lang.String name, MetadataClass metadataClass)INTERNAL:voidaddMetadataClass(MetadataClass metadataClass)INTERNAL:java.lang.ClassLoadergetLoader()INTERNAL:MetadataLoggergetLogger()INTERNAL:abstract MetadataClassgetMetadataClass(java.lang.String className)Return the class metadata for the class name.abstract MetadataClassgetMetadataClass(java.lang.String className, boolean isLazy)Return the class metadata for the class name.protected java.util.Map<java.lang.String,MetadataClass>getMetadataClasses()INTERNAL:protected booleanmetadataClassExists(java.lang.String className)INTERNAL:abstract voidresolveGenericTypes(MetadataClass child, java.util.List<java.lang.String> genericTypes, MetadataClass parent, MetadataDescriptor descriptor)INTERNAL: This method resolves generic types based on the ASM class metadata.voidsetLoader(java.lang.ClassLoader loader)INTERNAL:voidsetLogger(MetadataLogger logger)INTERNAL:
-
-
-
Field Detail
-
ALLOW_JDK
public static boolean ALLOW_JDK
Backdoor to allow mapping of JDK classes.
-
m_metadataClasses
protected java.util.Map<java.lang.String,MetadataClass> m_metadataClasses
Stores all metadata for classes.
-
m_logger
protected MetadataLogger m_logger
-
m_loader
protected java.lang.ClassLoader m_loader
-
-
Constructor Detail
-
MetadataFactory
public MetadataFactory(MetadataLogger logger, java.lang.ClassLoader loader)
INTERNAL:
-
-
Method Detail
-
addMetadataClass
public void addMetadataClass(MetadataClass metadataClass)
INTERNAL:
-
addMetadataClass
public void addMetadataClass(java.lang.String name, MetadataClass metadataClass)INTERNAL:
-
getLoader
public java.lang.ClassLoader getLoader()
INTERNAL:
-
getLogger
public MetadataLogger getLogger()
INTERNAL:
-
getMetadataClasses
protected java.util.Map<java.lang.String,MetadataClass> getMetadataClasses()
INTERNAL:
-
metadataClassExists
protected boolean metadataClassExists(java.lang.String className)
INTERNAL:
-
getMetadataClass
public abstract MetadataClass getMetadataClass(java.lang.String className)
Return the class metadata for the class name.
-
getMetadataClass
public abstract MetadataClass getMetadataClass(java.lang.String className, boolean isLazy)
Return the class metadata for the class name.
-
setLoader
public void setLoader(java.lang.ClassLoader loader)
INTERNAL:
-
setLogger
public void setLogger(MetadataLogger logger)
INTERNAL:
-
resolveGenericTypes
public abstract void resolveGenericTypes(MetadataClass child, java.util.List<java.lang.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.
-
-