org.apache.openjpa.meta
Class NoneMetaDataFactory

java.lang.Object
  extended by org.apache.openjpa.meta.NoneMetaDataFactory
All Implemented Interfaces:
CallbackModes, MetaDataDefaults, MetaDataFactory, MetaDataModes

public class NoneMetaDataFactory
extends Object
implements MetaDataFactory, MetaDataDefaults

No-op metadata I/O to prevent attempts to load other classes.

Author:
Abe White

Field Summary
 
Fields inherited from interface org.apache.openjpa.meta.MetaDataFactory
STORE_DEFAULT, STORE_PER_CLASS, STORE_VERBOSE
 
Fields inherited from interface org.apache.openjpa.meta.MetaDataModes
MODE_ALL, MODE_ANN_MAPPING, MODE_MAPPING, MODE_MAPPING_INIT, MODE_META, MODE_NONE, MODE_QUERY
 
Fields inherited from interface org.apache.openjpa.event.CallbackModes
CALLBACK_FAIL_FAST, CALLBACK_IGNORE, CALLBACK_LOG, CALLBACK_RETHROW, CALLBACK_ROLLBACK
 
Constructor Summary
NoneMetaDataFactory()
           
 
Method Summary
 void addClassExtensionKeys(Collection exts)
          Add any extension keys used by this instance to the given set.
 void addFieldExtensionKeys(Collection exts)
          Add any extension keys used by this instance to the given set.
 void clear()
          Clear any internal caches.
 boolean drop(Class[] cls, int mode, ClassLoader envLoader)
          Drop the metadata for the given classes in the given mode(s).
 Member getBackingMember(FieldMetaData fmd)
          Return the backing member for the given field metadata.
 int getCallbackMode()
          What to do on lifecycle callback exceptions.
 boolean getCallbacksBeforeListeners(int type)
          If callbacks are fired before listeners for the given event type.
 int getDefaultAccessType()
          Return the default access type for a base persistent class with ClassMetaData.ACCESS_UNKNOWN access type.
 int getDefaultIdentityType()
          Return the default identity type for unmapped classes without primary key fields.
 MetaDataDefaults getDefaults()
          Return the metadata defaults for this factory.
static NoneMetaDataFactory getInstance()
           
 Class<?> getManagedClass(Class<?> c)
          Gets the managed class corresponding to the given meta-class.
 String getManagedClassName(String metamodelClassName)
          Gets the name of the managed class for the given fully-qualified meta-model class name.
 Member getMemberByProperty(ClassMetaData meta, String property, int access, boolean scan)
          Get the field or getter for the given attribute of the given class.
 String getMetaModelClassName(String managedClassName)
          Gets the name of the meta-model class for the given fully-qualified managed class name.
 Set getPersistentTypeNames(boolean classpath, ClassLoader envLoader)
          Return all persistent class names, using the metadata locations supplied in configuration, optionally scanning the classpath.
 Class getQueryScope(String queryName, ClassLoader loader)
          Return the type defining the given query name, if any.
 Class getResultSetMappingScope(String resultSetMappingName, ClassLoader loader)
          Return the type defining the given result set mapping name, if any.
 Class<? extends Exception> getUnimplementedExceptionType()
          Return a runtime exception class to throw for un-implemented managed interface methods.
 boolean isAbstractMappingUniDirectional(OpenJPAConfiguration conf)
          Whether the relationship in MappedSuper class must be uni-directional.
 boolean isDataStoreObjectIdFieldUnwrapped()
          Whether the field in the object id class corresponding to a datastore id persistence-capable primary key field is the simple datastore id value of the related instance.
 boolean isDeclaredInterfacePersistent()
          Whether declared interfaces of a class are treated as persistent types.
 boolean isMetaClass(Class<?> c)
          Affirms if the given class is a meta-class.
 boolean isNonDefaultMappingAllowed(OpenJPAConfiguration conf)
          Whether non-default mapping is allowed.
 void load(Class cls, int mode, ClassLoader envLoader)
          Load metadata for the given class in the given mode(s).
 void loadXMLMetaData(Class<?> cls)
          Load XMLClassMetadata for the given class.
 ClassArgParser newClassArgParser()
          Return a properly-configured class arg parser for our expected metadata format.
 void populate(ClassMetaData meta, int access)
          Populate the given metadata with default settings.
 void populate(ClassMetaData meta, int access, boolean ignoreTransient)
          Populate the given metadata with default settings.
 void setIgnoreNonPersistent(boolean ignore)
          Whether to ignore members which are not persistent by default during metadata population.
 void setRepository(MetaDataRepository repos)
          Set the repository to load metadata into.
 void setStoreDirectory(File dir)
          Base directory for storing metadata.
 void setStoreMode(int store)
          Storage mode.
 void setStrict(boolean strict)
          If true, I/O's must exactly obey the mode directives given, and may not load additional information.
 boolean store(ClassMetaData[] metas, QueryMetaData[] queries, SequenceMetaData[] seqs, int mode, Map output)
          Store the given metadata.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NoneMetaDataFactory

public NoneMetaDataFactory()
Method Detail

getInstance

public static NoneMetaDataFactory getInstance()

setRepository

public void setRepository(MetaDataRepository repos)
Description copied from interface: MetaDataFactory
Set the repository to load metadata into. This method will be called before use.

Specified by:
setRepository in interface MetaDataFactory

setStoreDirectory

public void setStoreDirectory(File dir)
Description copied from interface: MetaDataFactory
Base directory for storing metadata. May not be called.

Specified by:
setStoreDirectory in interface MetaDataFactory

setStoreMode

public void setStoreMode(int store)
Description copied from interface: MetaDataFactory
Storage mode. May not be called.

Specified by:
setStoreMode in interface MetaDataFactory

setStrict

public void setStrict(boolean strict)
Description copied from interface: MetaDataFactory
If true, I/O's must exactly obey the mode directives given, and may not load additional information.

Specified by:
setStrict in interface MetaDataFactory

load

public void load(Class cls,
                 int mode,
                 ClassLoader envLoader)
Description copied from interface: MetaDataFactory
Load metadata for the given class in the given mode(s). If loading in MetaDataModes.MODE_QUERY, the class may be null. Loaded metadata should be added directly to the repository. It should have its source mode set appropriately via ClassMetaData.setSourceMode(int).

Specified by:
load in interface MetaDataFactory
mode - the mode to load metadata in: if mapping information is stored together with metadata, then you can load mapping data even if this mode only includes MODE_META, so long as the strict property hasn't been set

store

public boolean store(ClassMetaData[] metas,
                     QueryMetaData[] queries,
                     SequenceMetaData[] seqs,
                     int mode,
                     Map output)
Description copied from interface: MetaDataFactory
Store the given metadata.

Specified by:
store in interface MetaDataFactory
mode - hint about what aspects of the metadata have changed
output - if non-null, rather than storing metadata directly, add entries mapping each output destination such as a File to the planned output for that destination in string form
Returns:
false if this factory is unable to store metadata

drop

public boolean drop(Class[] cls,
                    int mode,
                    ClassLoader envLoader)
Description copied from interface: MetaDataFactory
Drop the metadata for the given classes in the given mode(s).

Specified by:
drop in interface MetaDataFactory
Returns:
false if any metadata could not be dropped

getDefaults

public MetaDataDefaults getDefaults()
Description copied from interface: MetaDataFactory
Return the metadata defaults for this factory.

Specified by:
getDefaults in interface MetaDataFactory

getPersistentTypeNames

public Set getPersistentTypeNames(boolean classpath,
                                  ClassLoader envLoader)
Description copied from interface: MetaDataFactory
Return all persistent class names, using the metadata locations supplied in configuration, optionally scanning the classpath. Return null if no types are supplied and this factory is unable to scan the classpath. This method should not be used directly by outside code; use MetaDataRepository.getPersistentTypeNames(boolean, java.lang.ClassLoader) instead.

Specified by:
getPersistentTypeNames in interface MetaDataFactory
See Also:
MetaDataRepository.getPersistentTypeNames(boolean, java.lang.ClassLoader), MetaDataRepository.loadPersistentTypes(boolean, java.lang.ClassLoader)

getQueryScope

public Class getQueryScope(String queryName,
                           ClassLoader loader)
Description copied from interface: MetaDataFactory
Return the type defining the given query name, if any.

Specified by:
getQueryScope in interface MetaDataFactory

getResultSetMappingScope

public Class getResultSetMappingScope(String resultSetMappingName,
                                      ClassLoader loader)
Description copied from interface: MetaDataFactory
Return the type defining the given result set mapping name, if any.

Specified by:
getResultSetMappingScope in interface MetaDataFactory

newClassArgParser

public ClassArgParser newClassArgParser()
Description copied from interface: MetaDataFactory
Return a properly-configured class arg parser for our expected metadata format.

Specified by:
newClassArgParser in interface MetaDataFactory

clear

public void clear()
Description copied from interface: MetaDataFactory
Clear any internal caches.

Specified by:
clear in interface MetaDataFactory

addClassExtensionKeys

public void addClassExtensionKeys(Collection exts)
Description copied from interface: MetaDataFactory
Add any extension keys used by this instance to the given set.

Specified by:
addClassExtensionKeys in interface MetaDataFactory

addFieldExtensionKeys

public void addFieldExtensionKeys(Collection exts)
Description copied from interface: MetaDataFactory
Add any extension keys used by this instance to the given set.

Specified by:
addFieldExtensionKeys in interface MetaDataFactory

getDefaultAccessType

public int getDefaultAccessType()
Description copied from interface: MetaDataDefaults
Return the default access type for a base persistent class with ClassMetaData.ACCESS_UNKNOWN access type.

Specified by:
getDefaultAccessType in interface MetaDataDefaults

getDefaultIdentityType

public int getDefaultIdentityType()
Description copied from interface: MetaDataDefaults
Return the default identity type for unmapped classes without primary key fields.

Specified by:
getDefaultIdentityType in interface MetaDataDefaults

getCallbackMode

public int getCallbackMode()
Description copied from interface: MetaDataDefaults
What to do on lifecycle callback exceptions.

Specified by:
getCallbackMode in interface MetaDataDefaults

getCallbacksBeforeListeners

public boolean getCallbacksBeforeListeners(int type)
Description copied from interface: MetaDataDefaults
If callbacks are fired before listeners for the given event type. Defaults to false.

Specified by:
getCallbacksBeforeListeners in interface MetaDataDefaults

setIgnoreNonPersistent

public void setIgnoreNonPersistent(boolean ignore)
Description copied from interface: MetaDataDefaults
Whether to ignore members which are not persistent by default during metadata population. Defaults to true.

Specified by:
setIgnoreNonPersistent in interface MetaDataDefaults

isDeclaredInterfacePersistent

public boolean isDeclaredInterfacePersistent()
Description copied from interface: MetaDataDefaults
Whether declared interfaces of a class are treated as persistent types. Defaults to true.

Specified by:
isDeclaredInterfacePersistent in interface MetaDataDefaults

isDataStoreObjectIdFieldUnwrapped

public boolean isDataStoreObjectIdFieldUnwrapped()
Description copied from interface: MetaDataDefaults
Whether the field in the object id class corresponding to a datastore id persistence-capable primary key field is the simple datastore id value of the related instance. Defaults to false.

Specified by:
isDataStoreObjectIdFieldUnwrapped in interface MetaDataDefaults

populate

public void populate(ClassMetaData meta,
                     int access)
Description copied from interface: MetaDataDefaults
Populate the given metadata with default settings.

Specified by:
populate in interface MetaDataDefaults
access - access type constant from ClassMetaData

populate

public void populate(ClassMetaData meta,
                     int access,
                     boolean ignoreTransient)
Description copied from interface: MetaDataDefaults
Populate the given metadata with default settings.

Specified by:
populate in interface MetaDataDefaults
access - access type constant from ClassMetaData

getBackingMember

public Member getBackingMember(FieldMetaData fmd)
Description copied from interface: MetaDataDefaults
Return the backing member for the given field metadata.

Specified by:
getBackingMember in interface MetaDataDefaults

getMemberByProperty

public Member getMemberByProperty(ClassMetaData meta,
                                  String property,
                                  int access,
                                  boolean scan)
Description copied from interface: MetaDataDefaults
Get the field or getter for the given attribute of the given class.

Specified by:
getMemberByProperty in interface MetaDataDefaults
Parameters:
meta - is the declaring class
property - name of the logical attribute
access - whether to look for the field of getter method. If unknown, then field or property is chosen based on the access type used by the given class.
scan - if true and access is unknown then scans the annotation on the member to determine access.

getUnimplementedExceptionType

public Class<? extends Exception> getUnimplementedExceptionType()
Description copied from interface: MetaDataDefaults
Return a runtime exception class to throw for un-implemented managed interface methods.

Specified by:
getUnimplementedExceptionType in interface MetaDataDefaults

loadXMLMetaData

public void loadXMLMetaData(Class<?> cls)
Description copied from interface: MetaDataFactory
Load XMLClassMetadata for the given class. Loaded metadata should be added directly to the repository.

Specified by:
loadXMLMetaData in interface MetaDataFactory

getMetaModelClassName

public String getMetaModelClassName(String managedClassName)
Description copied from interface: MetaDataFactory
Gets the name of the meta-model class for the given fully-qualified managed class name.

Specified by:
getMetaModelClassName in interface MetaDataFactory

getManagedClassName

public String getManagedClassName(String metamodelClassName)
Description copied from interface: MetaDataFactory
Gets the name of the managed class for the given fully-qualified meta-model class name.

Specified by:
getManagedClassName in interface MetaDataFactory

isMetaClass

public boolean isMetaClass(Class<?> c)
Description copied from interface: MetaDataFactory
Affirms if the given class is a meta-class.

Specified by:
isMetaClass in interface MetaDataFactory

getManagedClass

public Class<?> getManagedClass(Class<?> c)
Description copied from interface: MetaDataFactory
Gets the managed class corresponding to the given meta-class.

Specified by:
getManagedClass in interface MetaDataFactory
Returns:
null if the given input is not a meta-class.

isAbstractMappingUniDirectional

public boolean isAbstractMappingUniDirectional(OpenJPAConfiguration conf)
Description copied from interface: MetaDataDefaults
Whether the relationship in MappedSuper class must be uni-directional.

Specified by:
isAbstractMappingUniDirectional in interface MetaDataDefaults

isNonDefaultMappingAllowed

public boolean isNonDefaultMappingAllowed(OpenJPAConfiguration conf)
Description copied from interface: MetaDataDefaults
Whether non-default mapping is allowed.

Specified by:
isNonDefaultMappingAllowed in interface MetaDataDefaults


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