| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.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  | 
 boolean | 
is_systemListenersActivated()
Whether any system (default) listeners have been registered.  | 
 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 found
public 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 metadata
public 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 found
public 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 default
public 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.RegisterClassListenerClass<?>[] 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 Configurablepublic void startConfiguration()
Configurable
startConfiguration in interface Configurablepublic 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 boolean is_systemListenersActivated()
public void addSystemListener(Object listener)
public boolean removeSystemListener(Object listener)
public LifecycleEventManager.ListenerList getSystemListeners()
public void close()
close in interface Closeablepublic 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 | |||||||||