Class MetadataAsmFactory
- java.lang.Object
-
- org.eclipse.persistence.internal.jpa.metadata.accessors.objects.MetadataFactory
-
- org.eclipse.persistence.internal.jpa.metadata.accessors.objects.MetadataAsmFactory
-
public class MetadataAsmFactory extends MetadataFactory
INTERNAL: A metadata factory that uses ASM technology and no reflection whatsoever to process the metadata model.- Since:
- EclipseLink 1.2
- Author:
- James Sutherland
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classMetadataAsmFactory.ClassMetadataVisitorWalk the class byte codes and collect the class info.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringPRIMITIVESSet of primitive type codes.static java.lang.StringTOKENSSet of desc token characters.-
Fields inherited from class org.eclipse.persistence.internal.jpa.metadata.accessors.objects.MetadataFactory
ALLOW_JDK, m_loader, m_logger, m_metadataClasses
-
-
Constructor Summary
Constructors Constructor Description MetadataAsmFactory(MetadataLogger logger, java.lang.ClassLoader loader)INTERNAL:
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidbuildClassMetadata(MetadataClass metadataClass, java.lang.String className, boolean isLazy)Build the class metadata for the class name using ASM to read the class byte codes.MetadataClassgetMetadataClass(java.lang.String className)Return the class metadata for the class name.MetadataClassgetMetadataClass(java.lang.String className, boolean isLazy)Return the class metadata for the class name.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.-
Methods inherited from class org.eclipse.persistence.internal.jpa.metadata.accessors.objects.MetadataFactory
addMetadataClass, addMetadataClass, getLoader, getLogger, getMetadataClasses, metadataClassExists, setLoader, setLogger
-
-
-
-
Field Detail
-
PRIMITIVES
public static final java.lang.String PRIMITIVES
Set of primitive type codes.- See Also:
- Constant Field Values
-
TOKENS
public static final java.lang.String TOKENS
Set of desc token characters.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
MetadataAsmFactory
public MetadataAsmFactory(MetadataLogger logger, java.lang.ClassLoader loader)
INTERNAL:
-
-
Method Detail
-
buildClassMetadata
protected void buildClassMetadata(MetadataClass metadataClass, java.lang.String className, boolean isLazy)
Build the class metadata for the class name using ASM to read the class byte codes.
-
getMetadataClass
public MetadataClass getMetadataClass(java.lang.String className)
Return the class metadata for the class name.- Specified by:
getMetadataClassin classMetadataFactory
-
getMetadataClass
public MetadataClass getMetadataClass(java.lang.String className, boolean isLazy)
Return the class metadata for the class name.- Specified by:
getMetadataClassin classMetadataFactory
-
resolveGenericTypes
public 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.- Specified by:
resolveGenericTypesin classMetadataFactory
-
-