|
||||||||||
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 | |
---|---|
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. |
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 |
addXMLMetaData(Class type,
String name)
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 |
getAliasNames()
|
ClassMetaData |
getCachedMetaData(Class cls)
Return the cached metadata for the given class, without any resolution. |
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. |
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. |
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 |
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 |
getPersistentTypeNames(boolean devpath,
ClassLoader envLoader)
Return the set of configured persistent classes, or null if the user did not configure any. |
boolean |
getPreload()
Returns a boolean indicating whether this repository will load all MetaData for 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. |
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(FieldMetaData fmd)
Return XML metadata for a given field metadata |
Collection |
loadPersistentTypes(boolean devpath,
ClassLoader envLoader)
Load the persistent classes named in configuration. |
static boolean |
needsPreload(Options o)
This helper method returns true if Options paramater has the property Preload set to true. |
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,
String name)
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. |
void |
register(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. |
void |
setConfiguration(Configuration conf)
Invoked prior to setting bean properties. |
void |
setMetaDataFactory(MetaDataFactory factory)
The I/O used to load metadata. |
void |
setPreload(boolean p)
Sets whether this repository will load all MetaData for all known persistent classes at initialization and remove all locking. |
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 |
---|
protected boolean _locking
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
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 void setPreload(boolean p)
public boolean getPreload()
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 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 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.
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)
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 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 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 void register(Class cls)
register
in interface PCRegistry.RegisterClassListener
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)
protected static Object getQueryKey(Class cls, String name)
public SequenceMetaData getSequenceMetaData(String name, ClassLoader envLoader, 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(FieldMetaData fmd)
fmd
-
public XMLClassMetaData addXMLMetaData(Class type, String name)
access
- the access type to use in populating metadatapublic XMLMetaData getCachedXMLMetaData(Class cls)
protected XMLClassMetaData newXMLClassMetaData(Class type, String name)
type
- name
-
public XMLFieldMetaData newXMLFieldMetaData(Class type, String name)
type
- name
- meta
-
public static boolean needsPreload(Options o)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |