Package org.apache.openjpa.persistence
Class PersistenceMetaDataFactory
java.lang.Object
org.apache.openjpa.meta.AbstractMetaDataFactory
org.apache.openjpa.meta.AbstractCFMetaDataFactory
org.apache.openjpa.persistence.PersistenceMetaDataFactory
- All Implemented Interfaces:
Configurable
,GenericConfigurable
,MetaDataFactory
,MetaDataModes
- Direct Known Subclasses:
PersistenceMappingFactory
public class PersistenceMetaDataFactory
extends AbstractCFMetaDataFactory
implements Configurable, GenericConfigurable
MetaDataFactory
for JPA metadata.- Since:
- 0.4.0
- Author:
- Steve Kim
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.openjpa.meta.AbstractCFMetaDataFactory
AbstractCFMetaDataFactory.Parser, AbstractCFMetaDataFactory.Serializer
-
Field Summary
Fields inherited from class org.apache.openjpa.meta.AbstractCFMetaDataFactory
cpath, files, JAR_FILE_URLS, MAPPING_FILE_NAMES, PERSISTENCE_UNIT_ROOT_URL, rsrcs, urls
Fields inherited from class org.apache.openjpa.meta.AbstractMetaDataFactory
dir, log, repos, store, strict, types
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
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Clear any internal caches.protected File
Return the default file for the given metadata.protected File
defaultSourceFile
(QueryMetaData query, Map clsNames) Return a default file for the given query.protected File
defaultSourceFile
(SequenceMetaData seq, Map clsNames) Return a default file for the given sequence.void
Invoked upon completion of bean property configuration for this object.Return metadata parser, creating it if it does not already exist.Return the metadata defaults for this factory.boolean
Whether to use field-level override or class-level override.Class<?>
getManagedClass
(Class<?> c) Gets the managed class corresponding to the given meta-class.getManagedClassName
(String mmClassName) Gets the name of the managed class for the given fully-qualified meta-model class name.getMetaModelClassName
(String managedClassName) Gets the name of the meta-model class for the given fully-qualified managed class name.Class<?>
getQueryScope
(String queryName, ClassLoader loader) Return the type defining the given query name, if any.Class<?>
getResultSetMappingScope
(String rsMappingName, ClassLoader loader) Return the type defining the given result set mapping name, if any.Return JAXB XML annotation parser, creating it if it does not already exist.Return XML metadata parser, creating it if it does not already exist or if the existing parser is parsing.boolean
isMetaClass
(Class<?> c) Affirms if the given class is a meta-class.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.protected void
mapPersistentTypeNames
(Object rsrc, String[] names) Implement this method to map metadata resources to the persistent types contained within them.protected AnnotationPersistenceMetaDataParser
Create a new metadata parser.protected AnnotationPersistenceMetaDataSerializer
Create a new annotation serializer.Return a properly-configured class arg parser for our expected metadata format.protected MetaDataFilter
Return a metadata filter that identifies metadata resources when performing jar and classpath scans.protected AbstractCFMetaDataFactory.Parser
newParser
(boolean loading) Create a new metadata parser.protected AbstractCFMetaDataFactory.Serializer
Create a new metadata serializer.protected AnnotationPersistenceXMLMetaDataParser
Create a new JAXB XML annotation parser.protected XMLPersistenceMetaDataParser
newXMLParser
(boolean loading) Create a new metadata parser.protected XMLPersistenceMetaDataSerializer
Create a new serializerprotected void
parse
(MetaDataParser parser, Class[] cls) Parse all given classses.void
void
Set the metadata parser.void
Invoked prior to setting bean properties.void
setFieldOverride
(boolean field) Whether to use field-level override or class-level override.void
Perform any generic configuration based on the data inopts
.void
Set the JAXB XML annotation parser.void
Set the metadata parser.void
Invoked before bean property configuration is begun on this object.Methods inherited from class org.apache.openjpa.meta.AbstractCFMetaDataFactory
backupAndDelete, clearMapping, decode, drop, getDefiningMetaData, getPersistentTypeNames, getSourceFile, getSourceFile, isMappingOnlyFactory, isParseTopDown, parse, parsePersistentTypeNames, serialize, setClasspathScan, setClasspathScan, setFiles, setFiles, setResources, setResources, setSourceFile, setSourceFile, setURLs, setURLs, store
Methods inherited from class org.apache.openjpa.meta.AbstractMetaDataFactory
addClassExtensionKeys, addFieldExtensionKeys, setRepository, setStoreDirectory, setStoreMode, setStrict, setTypes, setTypes
-
Field Details
-
_stack
-
-
Constructor Details
-
PersistenceMetaDataFactory
public PersistenceMetaDataFactory()
-
-
Method Details
-
setFieldOverride
public void setFieldOverride(boolean field) Whether to use field-level override or class-level override. Defaults to true. -
getFieldOverride
public boolean getFieldOverride()Whether to use field-level override or class-level override. Defaults to true. -
getAnnotationParser
Return metadata parser, creating it if it does not already exist. -
setAnnotationParser
Set the metadata parser. -
newAnnotationParser
Create a new metadata parser. -
newAnnotationSerializer
Create a new annotation serializer.- Specified by:
newAnnotationSerializer
in classAbstractCFMetaDataFactory
-
getXMLParser
Return XML metadata parser, creating it if it does not already exist or if the existing parser is parsing. -
resetXMLParser
public void resetXMLParser() -
setXMLParser
Set the metadata parser. -
newXMLParser
Create a new metadata parser. -
newXMLSerializer
Create a new serializer -
load
Description copied from interface:MetaDataFactory
Load metadata for the given class in the given mode(s). If loading inMetaDataModes.MODE_QUERY
, the class may be null. Loaded metadata should be added directly to the repository. It should have its source mode set appropriately viaClassMetaData.setSourceMode(int)
.- Specified by:
load
in interfaceMetaDataFactory
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 includesMODE_META
, so long as thestrict
property hasn't been set
-
mapPersistentTypeNames
Description copied from class:AbstractCFMetaDataFactory
Implement this method to map metadata resources to the persistent types contained within them. The method will be called whenAbstractCFMetaDataFactory.getPersistentTypeNames(boolean, java.lang.ClassLoader)
is invoked.- Overrides:
mapPersistentTypeNames
in classAbstractCFMetaDataFactory
-
getQueryScope
Description copied from interface:MetaDataFactory
Return the type defining the given query name, if any.- Specified by:
getQueryScope
in interfaceMetaDataFactory
- Overrides:
getQueryScope
in classAbstractMetaDataFactory
-
getResultSetMappingScope
Description copied from interface:MetaDataFactory
Return the type defining the given result set mapping name, if any.- Specified by:
getResultSetMappingScope
in interfaceMetaDataFactory
- Overrides:
getResultSetMappingScope
in classAbstractMetaDataFactory
-
newMetaDataFilter
Description copied from class:AbstractCFMetaDataFactory
Return a metadata filter that identifies metadata resources when performing jar and classpath scans.- Specified by:
newMetaDataFilter
in classAbstractCFMetaDataFactory
-
getDefaults
Description copied from interface:MetaDataFactory
Return the metadata defaults for this factory.- Specified by:
getDefaults
in interfaceMetaDataFactory
-
newClassArgParser
Description copied from interface:MetaDataFactory
Return a properly-configured class arg parser for our expected metadata format.- Specified by:
newClassArgParser
in interfaceMetaDataFactory
- Overrides:
newClassArgParser
in classAbstractMetaDataFactory
-
clear
public void clear()Description copied from interface:MetaDataFactory
Clear any internal caches.- Specified by:
clear
in interfaceMetaDataFactory
- Overrides:
clear
in classAbstractCFMetaDataFactory
-
newParser
Description copied from class:AbstractCFMetaDataFactory
Create a new metadata parser.- Specified by:
newParser
in classAbstractCFMetaDataFactory
- Parameters:
loading
- if true, this will be the cached parser used for loading metadata
-
newSerializer
Description copied from class:AbstractCFMetaDataFactory
Create a new metadata serializer.- Specified by:
newSerializer
in classAbstractCFMetaDataFactory
-
parse
Description copied from class:AbstractCFMetaDataFactory
Parse all given classses.- Overrides:
parse
in classAbstractCFMetaDataFactory
-
defaultSourceFile
Description copied from class:AbstractCFMetaDataFactory
Return the default file for the given metadata.- Specified by:
defaultSourceFile
in classAbstractCFMetaDataFactory
-
defaultSourceFile
Description copied from class:AbstractCFMetaDataFactory
Return a default file for the given query.- Specified by:
defaultSourceFile
in classAbstractCFMetaDataFactory
-
defaultSourceFile
Description copied from class:AbstractCFMetaDataFactory
Return a default file for the given sequence.- Specified by:
defaultSourceFile
in classAbstractCFMetaDataFactory
-
setConfiguration
Description copied from interface:Configurable
Invoked prior to setting bean properties.- Specified by:
setConfiguration
in interfaceConfigurable
-
startConfiguration
public void startConfiguration()Description copied from interface:Configurable
Invoked before bean property configuration is begun on this object.- Specified by:
startConfiguration
in interfaceConfigurable
-
endConfiguration
public void endConfiguration()Description copied from interface:Configurable
Invoked upon completion of bean property configuration for this object.- Specified by:
endConfiguration
in interfaceConfigurable
-
setInto
Description copied from interface:GenericConfigurable
Perform any generic configuration based on the data inopts
. This method should remove any values inopts
that have been successfully processed; if any values remain inopts
after this method is executed, an exception will be thrown identifying those key-value pairs as invalid.- Specified by:
setInto
in interfaceGenericConfigurable
-
getXMLAnnotationParser
Return JAXB XML annotation parser, creating it if it does not already exist. -
setXMLAnnotationParser
Set the JAXB XML annotation parser. -
newXMLAnnotationParser
Create a new JAXB XML annotation parser. -
loadXMLMetaData
Description copied from interface:MetaDataFactory
Load XMLClassMetadata for the given class. Loaded metadata should be added directly to the repository.- Specified by:
loadXMLMetaData
in interfaceMetaDataFactory
-
getManagedClassName
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 interfaceMetaDataFactory
-
getMetaModelClassName
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 interfaceMetaDataFactory
-
isMetaClass
Description copied from interface:MetaDataFactory
Affirms if the given class is a meta-class.- Specified by:
isMetaClass
in interfaceMetaDataFactory
-
getManagedClass
Description copied from interface:MetaDataFactory
Gets the managed class corresponding to the given meta-class.- Specified by:
getManagedClass
in interfaceMetaDataFactory
- Returns:
- null if the given input is not a meta-class.
-