|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.openjpa.meta.MetaDataRepository
public class MetaDataRepository
Repository of and factory for persistent metadata.
Field Summary | |
---|---|
protected boolean |
_locking
|
protected boolean |
_preload
|
protected boolean |
_preloadComplete
|
protected static Class<?>[] |
EMPTY_CLASSES
|
protected FieldMetaData[] |
EMPTY_FIELDS
|
protected ClassMetaData[] |
EMPTY_METAS
|
protected static NonPersistentMetaData[] |
EMPTY_NON_PERSISTENT
|
protected Order[] |
EMPTY_ORDERS
|
protected XMLMetaData[] |
EMPTY_XMLMETAS
|
static int |
VALIDATE_MAPPING
Bit flag to validate mappings. |
static int |
VALIDATE_META
Bit flag to validate metadata. |
static int |
VALIDATE_NONE
Constant to not validate any metadata. |
static int |
VALIDATE_RUNTIME
Bit flag for runtime validation. |
static int |
VALIDATE_UNENHANCED
Bit flag to validate unenhanced metadata only. |
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 | |
---|---|
MetaDataRepository()
Default constructor. |
Method Summary | |
---|---|
(package private) void |
addDeclaredInterfaceImpl(ClassMetaData meta,
Class<?> iface)
Add the given metadata as declared interface implementation. |
ClassMetaData |
addMetaData(Class<?> cls)
Create a new metadata, populate it with default information, add it to the repository, and return it. |
ClassMetaData |
addMetaData(Class<?> cls,
int access)
Create a new metadata, populate it with default information, add it to the repository, and return it. |
ClassMetaData |
addMetaData(Class<?> cls,
int access,
boolean ignoreTransient)
Create a new metadata, populate it with default information, add it to the repository, and return it. |
NonPersistentMetaData |
addNonMappedInterface(Class<?> iface)
Add the given non-mapped interface to the repository. |
NonPersistentMetaData |
addPersistenceAware(Class<?> cls)
Add the given class as persistence-aware. |
QueryMetaData |
addQueryMetaData(Class<?> cls,
String name)
Add a new query metadata to the repository and return it. |
SequenceMetaData |
addSequenceMetaData(String name)
Add a new sequence metadata to the repository and return it. |
void |
addSystemListener(Object listener)
Add the given system lifecycle listener. |
XMLClassMetaData |
addXMLClassMetaData(Class<?> type)
Create a new metadata, populate it with default information, add it to the repository, and return it. |
void |
clear()
Clear the cache of parsed metadata. |
void |
close()
Free the resources used by this repository. |
void |
endConfiguration()
Invoked upon completion of bean property configuration for this object. |
Collection<String> |
getAliasNames()
|
ClassMetaData |
getCachedMetaData(Class<?> cls)
Return the cached metadata for the given class, without any resolution. |
ClassMetaData |
getCachedMetaData(String typeName)
This method returns the ClassMetaData whose described type name matches the typeName parameter. |
QueryMetaData |
getCachedQueryMetaData(Class<?> cls,
String name)
Return the cached query metadata for the given name. |
SequenceMetaData |
getCachedSequenceMetaData(String name)
Return the cached a sequence metadata for the given name. |
XMLMetaData |
getCachedXMLMetaData(Class<?> cls)
Return the cached XMLClassMetaData for the given class Return null if none. |
String |
getClosestAliasName(String alias)
|
OpenJPAConfiguration |
getConfiguration()
Return the configuration for the repository. |
ClassMetaData[] |
getImplementorMetaDatas(Class<?> cls,
ClassLoader envLoader,
boolean mustExist)
Return all least-derived metadatas with some mapped assignable type that implement the given class. |
(package private) InterfaceImplGenerator |
getImplGenerator()
|
Log |
getLog()
Return the metadata log. |
ClassMetaData |
getMetaData(Class<?> cls,
ClassLoader envLoader,
boolean mustExist)
Return the metadata for the given class. |
ClassMetaData |
getMetaData(Object oid,
ClassLoader envLoader,
boolean mustExist)
Return the least-derived class metadata for the given application identity object. |
ClassMetaData |
getMetaData(String alias,
ClassLoader envLoader,
boolean mustExist)
Return the metadata for the given alias name. |
MetaDataFactory |
getMetaDataFactory()
The I/O used to load metadata. |
ClassMetaData[] |
getMetaDatas()
Return all the metadata instances currently in the repository. |
Class<?> |
getMetaModel(Class<?> entity,
boolean load)
Gets the meta class corresponding to the given class. |
Class<?> |
getMetaModel(ClassMetaData meta,
boolean load)
Gets the meta class corresponding to the given persistent class. |
NonPersistentMetaData |
getNonMappedInterface(Class<?> iface)
Gets the metadata corresponding to the given non-mapped interface. |
NonPersistentMetaData[] |
getNonMappedInterfaces()
Gets the corresponding metadatas for all registered, non-mapped interfaces |
FieldMetaData |
getOrderByField(ClassMetaData meta,
String orderBy)
|
(package private) Collection<Class<?>> |
getPCSubclasses(Class<?> cls)
Return all known subclasses for the given class mapping. |
NonPersistentMetaData |
getPersistenceAware(Class<?> cls)
Gets the metadata corresponding to the given persistence-aware class. |
NonPersistentMetaData[] |
getPersistenceAwares()
Gets all the metadatas for persistence-aware classes |
Set<String> |
getPersistentTypeNames(boolean devpath,
ClassLoader envLoader)
Return the set of configured persistent classes, or null if the user did not configure any. |
boolean |
getPreload()
Sets whether this repository will load all known persistent classes at initialization. |
protected static Object |
getQueryKey(Class<?> cls,
String name)
Return a unique key for a given class / name. |
QueryMetaData |
getQueryMetaData(Class<?> cls,
String name,
ClassLoader envLoader,
boolean mustExist)
Return query metadata for the given class, name, and classloader. |
QueryMetaData[] |
getQueryMetaDatas()
Return the cached query metadata. |
int |
getResolve()
The metadata resolution mode. |
(package private) SequenceMetaData |
getSequenceMetaData(ClassMetaData context,
String name,
boolean mustExist)
Used internally by metadata to retrieve sequence metadatas based on possibly-unqualified sequence name. |
SequenceMetaData |
getSequenceMetaData(String name,
ClassLoader envLoader,
boolean mustExist)
Return sequence metadata for the given name and classloader. |
SequenceMetaData[] |
getSequenceMetaDatas()
Return the cached sequence metadata. |
int |
getSourceMode()
The source mode determining what metadata to load. |
LifecycleEventManager.ListenerList |
getSystemListeners()
Return the system lifecycle listeners |
int |
getValidate()
The metadata validation level. |
XMLMetaData |
getXMLMetaData(Class<?> cls)
Return XML metadata for a given field metadata |
Collection<Class<?>> |
loadPersistentTypes(boolean devpath,
ClassLoader envLoader)
Load the persistent classes named in configuration. |
Collection<Class<?>> |
loadPersistentTypes(boolean devpath,
ClassLoader envLoader,
boolean mustExist)
Load the persistent classes named in configuration. |
static boolean |
needsPreload(Options o)
|
protected ClassMetaData |
newClassMetaData(Class<?> type)
Create a new class metadata instance. |
protected ClassMetaData[] |
newClassMetaDataArray(int length)
Create a new array of the proper class metadata subclass. |
protected ClassMetaData |
newEmbeddedClassMetaData(ValueMetaData owner)
Create a new embedded class metadata instance. |
protected FieldMetaData |
newFieldMetaData(String name,
Class<?> type,
ClassMetaData owner)
Create a new field metadata instance. |
protected FieldMetaData[] |
newFieldMetaDataArray(int length)
Create a new array of the proper field metadata subclass. |
protected Order |
newOrder(FieldMetaData owner,
String name,
boolean asc)
Create an Order for the given field and declaration. |
protected Order[] |
newOrderArray(int size)
Create an array of orders of the given size. |
protected QueryMetaData |
newQueryMetaData(Class<?> cls,
String name)
Create a new query metadata instance. |
protected Order |
newRelatedFieldOrder(FieldMetaData owner,
FieldMetaData rel,
boolean asc)
Order by a field of the related type. |
protected SequenceMetaData |
newSequenceMetaData(String name)
Create a new sequence metadata instance. |
protected ValueMetaData |
newValueMetaData(FieldMetaData owner)
Create a new value metadata instance. |
protected Order |
newValueOrder(FieldMetaData owner,
boolean asc)
Order by the field value. |
protected XMLClassMetaData |
newXMLClassMetaData(Class<?> type)
Create a new xml class metadata |
protected XMLMetaData[] |
newXMLClassMetaDataArray(int length)
Create a new array of the proper xml class metadata subclass. |
XMLFieldMetaData |
newXMLFieldMetaData(Class<?> type,
String name)
Create a new xml field meta, add it to the fieldMap in the given xml class metadata |
void |
preload()
If the openjpa.MetaDataRepository plugin value Preload=true is set, this method will load all MetaData for all persistent classes and will remove locking from this class. |
protected void |
prepareMapping(ClassMetaData meta)
Prepare metadata for mapping resolution. |
(package private) Class<?>[] |
processRegisteredClasses(ClassLoader envLoader)
Updates our datastructures with the latest registered classes. |
void |
register(Class<?> cls)
|
(package private) void |
registerAlias(Class<?> cls)
Register the given class to the list of known aliases. |
void |
registerAlias(String alias,
Class<?> cls)
|
boolean |
removeMetaData(Class<?> cls)
Remove a metadata instance from the repository. |
boolean |
removeMetaData(ClassMetaData meta)
Remove a metadata instance from the repository. |
boolean |
removeNonMappedInterface(Class<?> iface)
Remove a non-mapped interface from the repository |
boolean |
removePersistenceAware(Class<?> cls)
Remove a persitence-aware class from the repository |
boolean |
removeQueryMetaData(Class<?> cls,
String name)
Remove query metadata for the given class name if in the repository. |
boolean |
removeQueryMetaData(QueryMetaData meta)
Remove the given query metadata from the repository. |
boolean |
removeSequenceMetaData(SequenceMetaData meta)
Remove the given sequence metadata from the repository. |
boolean |
removeSequenceMetaData(String name)
Remove sequence metadata for the name if in the repository. |
boolean |
removeSystemListener(Object listener)
Remove the given system lifecycle listener. |
QueryMetaData |
searchQueryMetaDataByName(String name)
Searches all cached query metadata by name. |
void |
setConfiguration(Configuration conf)
Invoked prior to setting bean properties. |
(package private) void |
setInterfaceImpl(ClassMetaData meta,
Class<?> impl)
Set the implementation for the given managed interface. |
void |
setMetaDataFactory(MetaDataFactory factory)
The I/O used to load metadata. |
void |
setMetaModel(Class<?> m2)
Puts the meta class corresponding to the given entity class. |
void |
setMetaModel(ClassMetaData meta,
Class<?> m2)
Puts the meta class corresponding to the given persistent class. |
void |
setPreload(boolean l)
Sets whether this repository will load all known persistent classes at initialization. |
void |
setResolve(int mode)
The metadata resolution mode. |
void |
setResolve(int mode,
boolean on)
The metadata resolution mode. |
void |
setSourceMode(int mode)
The source mode determining what metadata to load. |
void |
setSourceMode(int mode,
boolean on)
The source mode determining what metadata to load. |
void |
setValidate(int validate)
The metadata validation level. |
void |
setValidate(int validate,
boolean on)
The metadata validation level. |
void |
startConfiguration()
Invoked before bean property configuration is begun on this object. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int VALIDATE_NONE
public static final int VALIDATE_META
public static final int VALIDATE_MAPPING
public static final int VALIDATE_UNENHANCED
public static final int VALIDATE_RUNTIME
protected static final Class<?>[] EMPTY_CLASSES
protected static final NonPersistentMetaData[] EMPTY_NON_PERSISTENT
protected final ClassMetaData[] EMPTY_METAS
protected final FieldMetaData[] EMPTY_FIELDS
protected final Order[] EMPTY_ORDERS
protected final XMLMetaData[] EMPTY_XMLMETAS
protected boolean _preload
protected boolean _preloadComplete
protected boolean _locking
Constructor Detail |
---|
public MetaDataRepository()
Configurable
.
Method Detail |
---|
public OpenJPAConfiguration getConfiguration()
public Log getLog()
public MetaDataFactory getMetaDataFactory()
public void setMetaDataFactory(MetaDataFactory factory)
public int getValidate()
VALIDATE_META | VALIDATE_UNENHANCED
.
public void setValidate(int validate)
VALIDATE_META | VALIDATE_UNENHANCED
.
public void setValidate(int validate, boolean on)
VALIDATE_META | VALIDATE_MAPPING | VALIDATE_UNENHANCED
.
public int getResolve()
MODE_META | MODE_MAPPING
.
public void setResolve(int mode)
MODE_META | MODE_MAPPING
.
public void setResolve(int mode, boolean on)
MODE_META | MODE_MAPPING
.
public int getSourceMode()
MODE_META | MODE_MAPPING | MODE_QUERY
.
public void setSourceMode(int mode)
MODE_META | MODE_MAPPING | MODE_QUERY
.
public void setSourceMode(int mode, boolean on)
MODE_META | MODE_MAPPING | MODE_QUERY
.
public boolean getPreload()
public void setPreload(boolean l)
public void preload()
public ClassMetaData getMetaData(Class<?> cls, ClassLoader envLoader, boolean mustExist)
cls
- the class to retrieve metadata forenvLoader
- the environmental class loader, if anymustExist
- if true, throws a MetaDataException
if no metadata is foundpublic ClassMetaData getMetaData(String alias, ClassLoader envLoader, boolean mustExist)
alias
- the alias to class to retrieve metadata forenvLoader
- the environmental class loader, if anymustExist
- if true, throws a MetaDataException
if no metadata is foundClassMetaData.getTypeAlias()
public String getClosestAliasName(String alias)
public Collection<String> getAliasNames()
protected void prepareMapping(ClassMetaData meta)
ClassMetaData.defineSuperclassFields(boolean)
.
public ClassMetaData[] getMetaDatas()
public ClassMetaData getCachedMetaData(Class<?> cls)
public ClassMetaData addMetaData(Class<?> cls)
public ClassMetaData addMetaData(Class<?> cls, int access)
access
- the access type to use in populating metadatapublic ClassMetaData addMetaData(Class<?> cls, int access, boolean ignoreTransient)
access
- the access type to use in populating metadataprotected ClassMetaData newClassMetaData(Class<?> type)
protected ClassMetaData[] newClassMetaDataArray(int length)
protected FieldMetaData newFieldMetaData(String name, Class<?> type, ClassMetaData owner)
protected FieldMetaData[] newFieldMetaDataArray(int length)
protected XMLMetaData[] newXMLClassMetaDataArray(int length)
protected ClassMetaData newEmbeddedClassMetaData(ValueMetaData owner)
protected ValueMetaData newValueMetaData(FieldMetaData owner)
protected Order newOrder(FieldMetaData owner, String name, boolean asc)
Order
for the given field and declaration. This method delegates to
newRelatedFieldOrder(org.apache.openjpa.meta.FieldMetaData, org.apache.openjpa.meta.FieldMetaData, boolean)
and #newValueFieldOrder
by default.
public FieldMetaData getOrderByField(ClassMetaData meta, String orderBy)
protected Order newValueOrder(FieldMetaData owner, boolean asc)
protected Order newRelatedFieldOrder(FieldMetaData owner, FieldMetaData rel, boolean asc)
protected Order[] newOrderArray(int size)
public boolean removeMetaData(ClassMetaData meta)
public boolean removeMetaData(Class<?> cls)
void addDeclaredInterfaceImpl(ClassMetaData meta, Class<?> iface)
void setInterfaceImpl(ClassMetaData meta, Class<?> impl)
InterfaceImplGenerator getImplGenerator()
public ClassMetaData getMetaData(Object oid, ClassLoader envLoader, boolean mustExist)
oid
- the oid to get the metadata forenvLoader
- the environmental class loader, if anymustExist
- if true, throws a MetaDataException
if no metadata is foundpublic ClassMetaData[] getImplementorMetaDatas(Class<?> cls, ClassLoader envLoader, boolean mustExist)
cls
- the class or interface to retrieve implementors forenvLoader
- the environmental class loader, if anymustExist
- if true, throws a MetaDataException
if no metadata is foundpublic NonPersistentMetaData getPersistenceAware(Class<?> cls)
public NonPersistentMetaData[] getPersistenceAwares()
public NonPersistentMetaData addPersistenceAware(Class<?> cls)
cls
- non-null and must not alreaddy be added as persitence-capablepublic boolean removePersistenceAware(Class<?> cls)
public NonPersistentMetaData getNonMappedInterface(Class<?> iface)
public NonPersistentMetaData[] getNonMappedInterfaces()
public NonPersistentMetaData addNonMappedInterface(Class<?> iface)
iface
- the non-mapped interfacepublic boolean removeNonMappedInterface(Class<?> iface)
public void clear()
MetaDataFactory
's cache.
public Set<String> getPersistentTypeNames(boolean devpath, ClassLoader envLoader)
devpath
- if true, search for metadata files in directories in the classpath if no classes
are configured explicitlyenvLoader
- the class loader to use, or null for defaultpublic Collection<Class<?>> loadPersistentTypes(boolean devpath, ClassLoader envLoader)
devpath
- if true, search for metadata files in directories
in the classpath if the no classes are configured explicitlyenvLoader
- the class loader to use, or null for default
public Collection<Class<?>> loadPersistentTypes(boolean devpath, ClassLoader envLoader, boolean mustExist)
devpath
- if true, search for metadata files in directories in the classpath if the no
classes are configured explicitlyenvLoader
- the class loader to use, or null for defaultmustExist
- if true then empty list of classes or any unloadable but specified class will
raise an exception.
Collection<Class<?>> getPCSubclasses(Class<?> cls)
PCRegistry.RegisterClassListener
.
public void register(Class<?> cls)
register
in interface PCRegistry.RegisterClassListener
Class<?>[] processRegisteredClasses(ClassLoader envLoader)
void registerAlias(Class<?> cls)
public void registerAlias(String alias, Class<?> cls)
public void setMetaModel(Class<?> m2)
public void setMetaModel(ClassMetaData meta, Class<?> m2)
public Class<?> getMetaModel(ClassMetaData meta, boolean load)
public Class<?> getMetaModel(Class<?> entity, boolean load)
public void setConfiguration(Configuration conf)
Configurable
setConfiguration
in interface Configurable
public void startConfiguration()
Configurable
startConfiguration
in interface Configurable
public void endConfiguration()
Configurable
endConfiguration
in interface Configurable
public QueryMetaData getQueryMetaData(Class<?> cls, String name, ClassLoader envLoader, boolean mustExist)
public QueryMetaData[] getQueryMetaDatas()
public QueryMetaData getCachedQueryMetaData(Class<?> cls, String name)
public QueryMetaData addQueryMetaData(Class<?> cls, String name)
protected QueryMetaData newQueryMetaData(Class<?> cls, String name)
public boolean removeQueryMetaData(QueryMetaData meta)
public boolean removeQueryMetaData(Class<?> cls, String name)
public QueryMetaData searchQueryMetaDataByName(String name)
protected static Object getQueryKey(Class<?> cls, String name)
public SequenceMetaData getSequenceMetaData(String name, ClassLoader envLoader, boolean mustExist)
SequenceMetaData getSequenceMetaData(ClassMetaData context, String name, boolean mustExist)
public SequenceMetaData[] getSequenceMetaDatas()
public SequenceMetaData getCachedSequenceMetaData(String name)
public SequenceMetaData addSequenceMetaData(String name)
protected SequenceMetaData newSequenceMetaData(String name)
public boolean removeSequenceMetaData(SequenceMetaData meta)
public boolean removeSequenceMetaData(String name)
public void addSystemListener(Object listener)
public boolean removeSystemListener(Object listener)
public LifecycleEventManager.ListenerList getSystemListeners()
public void close()
close
in interface Closeable
public XMLMetaData getXMLMetaData(Class<?> cls)
fmd
-
public XMLClassMetaData addXMLClassMetaData(Class<?> type)
access
- the access type to use in populating metadatapublic XMLMetaData getCachedXMLMetaData(Class<?> cls)
protected XMLClassMetaData newXMLClassMetaData(Class<?> type)
type
- name
-
public XMLFieldMetaData newXMLFieldMetaData(Class<?> type, String name)
type
- name
- meta
-
public static boolean needsPreload(Options o)
public ClassMetaData getCachedMetaData(String typeName)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |