| 
 | ||||||||||
| 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_MAPPINGBit flag to validate mappings. | 
| static int | VALIDATE_METABit flag to validate metadata. | 
| static int | VALIDATE_NONEConstant to not validate any metadata. | 
| static int | VALIDATE_RUNTIMEBit flag for runtime validation. | 
| static int | VALIDATE_UNENHANCEDBit 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 Orderfor 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 | |||||||||