Package org.apache.openjpa.meta
Class AbstractMetaDataFactory
- java.lang.Object
-
- org.apache.openjpa.meta.AbstractMetaDataFactory
-
- All Implemented Interfaces:
MetaDataFactory
,MetaDataModes
- Direct Known Subclasses:
AbstractCFMetaDataFactory
public abstract class AbstractMetaDataFactory extends java.lang.Object implements MetaDataFactory
AbstractMetaDataFactory
that provides default implementations of many methods.- Author:
- Abe White
-
-
Field Summary
Fields Modifier and Type Field Description protected java.io.File
dir
protected Log
log
protected MetaDataRepository
repos
protected int
store
protected boolean
strict
protected java.util.Set
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
Constructors Constructor Description AbstractMetaDataFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addClassExtensionKeys(java.util.Collection exts)
Add any extension keys used by this instance to the given set.void
addFieldExtensionKeys(java.util.Collection exts)
Add any extension keys used by this instance to the given set.void
clear()
Clear any internal caches.boolean
drop(java.lang.Class[] cls, int mode, java.lang.ClassLoader envLoader)
Drop the metadata for the given classes in the given mode(s).java.util.Set
getPersistentTypeNames(boolean devpath, java.lang.ClassLoader envLoader)
Return all persistent class names, using the metadata locations supplied in configuration, optionally scanning the classpath.java.lang.Class
getQueryScope(java.lang.String queryName, java.lang.ClassLoader loader)
Return the type defining the given query name, if any.java.lang.Class
getResultSetMappingScope(java.lang.String resultSetMappingName, java.lang.ClassLoader loader)
Return the type defining the given result set mapping name, if any.ClassArgParser
newClassArgParser()
Return a properly-configured class arg parser for our expected metadata format.void
setRepository(MetaDataRepository repos)
Set the repository to load metadata into.void
setStoreDirectory(java.io.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.void
setTypes(java.lang.String types)
Set of semicolon-separated persistent type names supplied by user via auto-configuration.void
setTypes(java.util.Set types)
Set of persistent type names supplied by user.boolean
store(ClassMetaData[] metas, QueryMetaData[] queries, SequenceMetaData[] seqs, int mode, java.util.Map<java.io.File,java.lang.String> output)
Store the given metadata.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.openjpa.meta.MetaDataFactory
getDefaults, getManagedClass, getManagedClassName, getMetaModelClassName, isMetaClass, load, loadXMLMetaData
-
-
-
-
Field Detail
-
repos
protected MetaDataRepository repos
-
log
protected transient Log log
-
dir
protected java.io.File dir
-
store
protected int store
-
strict
protected boolean strict
-
types
protected java.util.Set types
-
-
Method Detail
-
setTypes
public void setTypes(java.util.Set types)
Set of persistent type names supplied by user.
-
setTypes
public void setTypes(java.lang.String types)
Set of semicolon-separated persistent type names supplied by user via auto-configuration.
-
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 interfaceMetaDataFactory
-
setStoreDirectory
public void setStoreDirectory(java.io.File dir)
Description copied from interface:MetaDataFactory
Base directory for storing metadata. May not be called.- Specified by:
setStoreDirectory
in interfaceMetaDataFactory
-
setStoreMode
public void setStoreMode(int store)
Description copied from interface:MetaDataFactory
Storage mode. May not be called.- Specified by:
setStoreMode
in interfaceMetaDataFactory
-
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
-
store
public boolean store(ClassMetaData[] metas, QueryMetaData[] queries, SequenceMetaData[] seqs, int mode, java.util.Map<java.io.File,java.lang.String> output)
Description copied from interface:MetaDataFactory
Store the given metadata.- Specified by:
store
in interfaceMetaDataFactory
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
public boolean drop(java.lang.Class[] cls, int mode, java.lang.ClassLoader envLoader)
Description copied from interface:MetaDataFactory
Drop the metadata for the given classes in the given mode(s).- Specified by:
drop
in interfaceMetaDataFactory
- Returns:
- false if any metadata could not be dropped
-
getPersistentTypeNames
public java.util.Set getPersistentTypeNames(boolean devpath, java.lang.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; useMetaDataRepository.getPersistentTypeNames(boolean, java.lang.ClassLoader)
instead.
-
getQueryScope
public java.lang.Class getQueryScope(java.lang.String queryName, java.lang.ClassLoader loader)
Description copied from interface:MetaDataFactory
Return the type defining the given query name, if any.- Specified by:
getQueryScope
in interfaceMetaDataFactory
-
getResultSetMappingScope
public java.lang.Class getResultSetMappingScope(java.lang.String resultSetMappingName, java.lang.ClassLoader loader)
Description copied from interface:MetaDataFactory
Return the type defining the given result set mapping name, if any.- Specified by:
getResultSetMappingScope
in interfaceMetaDataFactory
-
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 interfaceMetaDataFactory
-
clear
public void clear()
Description copied from interface:MetaDataFactory
Clear any internal caches.- Specified by:
clear
in interfaceMetaDataFactory
-
addClassExtensionKeys
public void addClassExtensionKeys(java.util.Collection exts)
Description copied from interface:MetaDataFactory
Add any extension keys used by this instance to the given set.- Specified by:
addClassExtensionKeys
in interfaceMetaDataFactory
-
addFieldExtensionKeys
public void addFieldExtensionKeys(java.util.Collection exts)
Description copied from interface:MetaDataFactory
Add any extension keys used by this instance to the given set.- Specified by:
addFieldExtensionKeys
in interfaceMetaDataFactory
-
-