Package org.apache.openjpa.jdbc.meta
Class MetaDataPlusMappingFactory
java.lang.Object
org.apache.openjpa.meta.DelegatingMetaDataFactory
org.apache.openjpa.jdbc.meta.MetaDataPlusMappingFactory
- All Implemented Interfaces:
MetaDataFactory
,MetaDataModes
Combines two internal
MetaDataFactory
instances -- one for
metadata, one for mappings -- into a single MetaDataFactory
facade.- 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
-
Constructor Summary
ConstructorDescriptionConstructor; supply delegates.MetaDataPlusMappingFactory
(MetaDataFactory meta, MetaDataFactory map, OpenJPAConfiguration conf) Constructor, supply delegates and Configuration. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Add any extension keys used by this instance to the given set.void
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).Innermost mapping delegate.Mapping factory delegate.getPersistentTypeNames
(boolean classpath, ClassLoader envLoader) Return all persistent class names, using the metadata locations supplied in configuration, optionally scanning the classpath.void
load
(Class cls, int mode, ClassLoader envLoader) Load metadata for the given class in the given mode(s).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 org.apache.openjpa.meta.DelegatingMetaDataFactory
getDefaults, getDelegate, getInnermostDelegate, getManagedClass, getManagedClassName, getMetaModelClassName, getQueryScope, getResultSetMappingScope, isMetaClass, loadXMLMetaData, newClassArgParser
-
Constructor Details
-
MetaDataPlusMappingFactory
Constructor; supply delegates. -
MetaDataPlusMappingFactory
public MetaDataPlusMappingFactory(MetaDataFactory meta, MetaDataFactory map, OpenJPAConfiguration conf) Constructor, supply delegates and Configuration.- Parameters:
meta
- MetaFactory delegate, should not be null.map
- MappingFactory delegate, should not be null.conf
- Configuration in use. Used to determine whether delegates should use strict mode.
-
-
Method Details
-
getMappingDelegate
Mapping factory delegate. -
getInnermostMappingDelegate
Innermost mapping delegate. -
setRepository
Description copied from interface:MetaDataFactory
Set the repository to load metadata into. This method will be called before use.- Specified by:
setRepository
in interfaceMetaDataFactory
- Overrides:
setRepository
in classDelegatingMetaDataFactory
-
setStoreDirectory
Description copied from interface:MetaDataFactory
Base directory for storing metadata. May not be called.- Specified by:
setStoreDirectory
in interfaceMetaDataFactory
- Overrides:
setStoreDirectory
in classDelegatingMetaDataFactory
-
setStoreMode
public void setStoreMode(int store) Description copied from interface:MetaDataFactory
Storage mode. May not be called.- Specified by:
setStoreMode
in interfaceMetaDataFactory
- Overrides:
setStoreMode
in classDelegatingMetaDataFactory
-
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 interfaceMetaDataFactory
- Overrides:
setStrict
in classDelegatingMetaDataFactory
-
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
- Overrides:
load
in classDelegatingMetaDataFactory
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
-
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 interfaceMetaDataFactory
- Overrides:
store
in classDelegatingMetaDataFactory
mode
- hint about what aspects of the metadata have changedoutput
- if non-null, rather than storing metadata directly, add entries mapping each output destination such as aFile
to the planned output for that destination in string form- Returns:
- false if this factory is unable to store metadata
-
drop
Description copied from interface:MetaDataFactory
Drop the metadata for the given classes in the given mode(s).- Specified by:
drop
in interfaceMetaDataFactory
- Overrides:
drop
in classDelegatingMetaDataFactory
- Returns:
- false if any metadata could not be dropped
-
getPersistentTypeNames
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; useMetaDataRepository.getPersistentTypeNames(boolean, java.lang.ClassLoader)
instead.- Specified by:
getPersistentTypeNames
in interfaceMetaDataFactory
- Overrides:
getPersistentTypeNames
in classDelegatingMetaDataFactory
- See Also:
-
clear
public void clear()Description copied from interface:MetaDataFactory
Clear any internal caches.- Specified by:
clear
in interfaceMetaDataFactory
- Overrides:
clear
in classDelegatingMetaDataFactory
-
addClassExtensionKeys
Description copied from interface:MetaDataFactory
Add any extension keys used by this instance to the given set.- Specified by:
addClassExtensionKeys
in interfaceMetaDataFactory
- Overrides:
addClassExtensionKeys
in classDelegatingMetaDataFactory
-
addFieldExtensionKeys
Description copied from interface:MetaDataFactory
Add any extension keys used by this instance to the given set.- Specified by:
addFieldExtensionKeys
in interfaceMetaDataFactory
- Overrides:
addFieldExtensionKeys
in classDelegatingMetaDataFactory
-