org.apache.openjpa.persistence
Class AnnotationPersistenceMetaDataParser

java.lang.Object
  extended by 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 Summary
 
Fields inherited from interface org.apache.openjpa.meta.MetaDataModes
MODE_MAPPING, MODE_MAPPING_INIT, MODE_META, MODE_NONE, MODE_QUERY
 
Constructor Summary
AnnotationPersistenceMetaDataParser(OpenJPAConfiguration conf)
          Constructor; supply configuration.
 
Method Summary
 void clear()
          Clear caches.
 OpenJPAConfiguration getConfiguration()
          Configuration supplied on construction.
 ClassLoader getEnvClassLoader()
          Return the environmental class loader to pass on to parsed metadata instances.
 Log getLog()
          Metadata log.
 boolean getMappingOverride()
          Whether to allow later parses of mapping information to override earlier information for the same class.
 int getMode()
          The parse mode.
 MetaDataRepository getRepository()
          Returns the repository for this parser.
protected  File getSourceFile()
          Determine the source file we're parsing.
protected  boolean handleUnknownClassAnnotation(ClassMetaData meta, Annotation anno)
          Allow subclasses to handle unknown annotations.
protected  boolean handleUnknownMemberAnnotation(FieldMetaData fmd, Annotation anno)
          Allow subclasses to handle unknown annotations.
protected  boolean handleUnknownPackageAnnotation(Package pkg, Annotation anno)
          Allow subclasses to handle unknown annotations.
protected  boolean isMappingMode()
          Convenience method for interpreting getMode().
protected  boolean isMappingOverrideMode()
          Returns true if we're in mapping mode or in metadata mode with mapping overide enabled.
protected  boolean isMetaDataMode()
          Convenience method for interpreting getMode().
protected  boolean isQueryMode()
          Convenience method for interpreting getMode().
 void parse(Class cls)
          Parse persistence metadata for the given class.
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.
protected  void parseClassMappingAnnotations(ClassMetaData meta)
          Parse class mapping annotations.
protected  void parseLobMapping(FieldMetaData fmd)
          Setup the field as a LOB mapping.
protected  void parseMemberMappingAnnotations(FieldMetaData fmd)
          Parse member mapping components.
protected  void parsePackageMappingAnnotations(Package pkg)
          Parse package mapping annotations.
 void setEnvClassLoader(ClassLoader loader)
          Set the environmental class loader to pass on to parsed metadata instances.
 void setMappingOverride(boolean override)
          Whether to allow later parses of mapping information to override earlier information for the same class.
 void setMode(int mode)
          The parse mode.
 void setMode(int mode, boolean on)
          The parse mode.
 void setRepository(MetaDataRepository repos)
          Set the metadata repository for this parser.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AnnotationPersistenceMetaDataParser

public AnnotationPersistenceMetaDataParser(OpenJPAConfiguration conf)
Constructor; supply configuration.

Method Detail

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.


parseLobMapping

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



Copyright © 2006-2007 Apache Software Foundation. All Rights Reserved.