Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.meta
Class MetaDataRepository

    java.lang.Object
      org.apache.openjpa.meta.MetaDataRepository

All Implemented Interfaces:
  Serializable, PCRegistry.RegisterClassListener, Configurable, Closeable, MetaDataModes

Direct Known Subclasses:
  MappingRepository

    public class MetaDataRepository

extends Object
implements PCRegistry.RegisterClassListener, Configurable, Closeable, MetaDataModes, Serializable

Repository of and factory for persistent metadata.

Since:
  0.3.0
Author:
  Abe White, Steve Kim (query metadata)
See Also:
  Serialized Form

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)`
`QueryMetaData` | `getCachedQueryMetaData(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

### VALIDATE_NONE

    public static final int VALIDATE_NONE

  Constant to not validate any metadata.

  See Also:
    Constant Field Values

### VALIDATE_META

    public static final int VALIDATE_META

  Bit flag to validate metadata.

  See Also:
    Constant Field Values

### VALIDATE_MAPPING

    public static final int VALIDATE_MAPPING

  Bit flag to validate mappings.

  See Also:
    Constant Field Values

### VALIDATE_UNENHANCED

    public static final int VALIDATE_UNENHANCED

  Bit flag to validate unenhanced metadata only.

  See Also:
    Constant Field Values

### VALIDATE_RUNTIME

    public static final int VALIDATE_RUNTIME

  Bit flag for runtime validation. Requires that all classes are enhanced, and performs extra field resolution steps.

  See Also:
    Constant Field Values

### EMPTY_CLASSES

    protected static final Class<?>[] EMPTY_CLASSES

### EMPTY_NON_PERSISTENT

    protected static final NonPersistentMetaData[] EMPTY_NON_PERSISTENT

### EMPTY_METAS

    protected final ClassMetaData[] EMPTY_METAS

### EMPTY_FIELDS

    protected final FieldMetaData[] EMPTY_FIELDS

### EMPTY_ORDERS

    protected final Order[] EMPTY_ORDERS

### EMPTY_XMLMETAS

    protected final XMLMetaData[] EMPTY_XMLMETAS

### _preload

    protected boolean _preload

### _preloadComplete

    protected boolean _preloadComplete

### _locking

    protected boolean _locking

Constructor Detail

### MetaDataRepository

    public MetaDataRepository()

  Default constructor. Configure via `Configurable`.

Method Detail

### getConfiguration

    public OpenJPAConfiguration getConfiguration()

  Return the configuration for the repository.

### getLog

    public Log getLog()

  Return the metadata log.

### getMetaDataFactory

    public MetaDataFactory getMetaDataFactory()

  The I/O used to load metadata.

### setMetaDataFactory

    public void setMetaDataFactory(MetaDataFactory factory)

  The I/O used to load metadata.

### getValidate

    public int getValidate()

  The metadata validation level. Defaults to `VALIDATE_META | VALIDATE_UNENHANCED`.

### setValidate

    public void setValidate(int validate)

  The metadata validation level. Defaults to `VALIDATE_META | VALIDATE_UNENHANCED`.

### setValidate

    public void setValidate(int validate,
                            boolean on)

  The metadata validation level. Defaults to `VALIDATE_META | VALIDATE_MAPPING | VALIDATE_UNENHANCED`.

### getResolve

    public int getResolve()

  The metadata resolution mode. Defaults to `MODE_META | MODE_MAPPING`.

### setResolve

    public void setResolve(int mode)

  The metadata resolution mode. Defaults to `MODE_META | MODE_MAPPING`.

### setResolve

    public void setResolve(int mode,
                           boolean on)

  The metadata resolution mode. Defaults to `MODE_META | MODE_MAPPING`.

### getSourceMode

    public int getSourceMode()

  The source mode determining what metadata to load. Defaults to `MODE_META | MODE_MAPPING | MODE_QUERY`.

### setSourceMode

    public void setSourceMode(int mode)

  The source mode determining what metadata to load. Defaults to `MODE_META | MODE_MAPPING | MODE_QUERY`.

### setSourceMode

    public void setSourceMode(int mode,
                              boolean on)

  The source mode determining what metadata to load. Defaults to `MODE_META | MODE_MAPPING | MODE_QUERY`.

### getPreload

    public boolean getPreload()

  Sets whether this repository will load all known persistent classes at initialization. Defaults to false.

### setPreload

    public void setPreload(boolean l)

  Sets whether this repository will load all known persistent classes at initialization. Defaults to false.

### preload

    public 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.

### getMetaData

    public ClassMetaData getMetaData(Class<?> cls,
                                     ClassLoader envLoader,
                                     boolean mustExist)

  Return the metadata for the given class.

  Parameters:
    `cls` - the class to retrieve metadata for
    `envLoader` - the environmental class loader, if any
    `mustExist` - if true, throws a `MetaDataException` if no metadata is found

### getMetaData

    public ClassMetaData getMetaData(String alias,
                                     ClassLoader envLoader,
                                     boolean mustExist)

  Return the metadata for the given alias name.

  Parameters:
    `alias` - the alias to class to retrieve metadata for
    `envLoader` - the environmental class loader, if any
    `mustExist` - if true, throws a `MetaDataException` if no metadata is found
  See Also:
    `ClassMetaData.getTypeAlias()`

### getClosestAliasName

    public String getClosestAliasName(String alias)

  Returns:
    the nearest match to the specified alias name
  Since:
    1.1.0

### getAliasNames

    public Collection<String> getAliasNames()

  Returns:
    the registered alias names
  Since:
    1.1.0

### prepareMapping

    protected void prepareMapping(ClassMetaData meta)

  Prepare metadata for mapping resolution. This method might map parts of the metadata that don't rely on other classes being mapped, but that other classes might rely on during their own mapping (for example, primary key fields). By default, this method only calls `ClassMetaData.defineSuperclassFields(boolean)`.

### getMetaDatas

    public ClassMetaData[] getMetaDatas()

  Return all the metadata instances currently in the repository.

### getCachedMetaData

    public ClassMetaData getCachedMetaData(Class<?> cls)

  Return the cached metadata for the given class, without any resolution. Return null if none.

### addMetaData

    public ClassMetaData addMetaData(Class<?> cls)

  Create a new metadata, populate it with default information, add it to the repository, and return it. Use the default access type.

### addMetaData

    public ClassMetaData addMetaData(Class<?> cls,
                                     int access)

  Create a new metadata, populate it with default information, add it to the repository, and return it.

  Parameters:
    `access` - the access type to use in populating metadata

### addMetaData

    public 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.

  Parameters:
    `access` - the access type to use in populating metadata

### newClassMetaData

    protected ClassMetaData newClassMetaData(Class<?> type)

  Create a new class metadata instance.

### newClassMetaDataArray

    protected ClassMetaData[] newClassMetaDataArray(int length)

  Create a new array of the proper class metadata subclass.

### newFieldMetaData

    protected FieldMetaData newFieldMetaData(String name,
                                             Class<?> type,
                                             ClassMetaData owner)

  Create a new field metadata instance.

### newFieldMetaDataArray

    protected FieldMetaData[] newFieldMetaDataArray(int length)

  Create a new array of the proper field metadata subclass.

### newXMLClassMetaDataArray

    protected XMLMetaData[] newXMLClassMetaDataArray(int length)

  Create a new array of the proper xml class metadata subclass.

### newEmbeddedClassMetaData

    protected ClassMetaData newEmbeddedClassMetaData(ValueMetaData owner)

  Create a new embedded class metadata instance.

### newValueMetaData

    protected ValueMetaData newValueMetaData(FieldMetaData owner)

  Create a new value metadata instance.

### newOrder

    protected Order newOrder(FieldMetaData owner,
                             String name,
                             boolean asc)

  Create an `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.

### getOrderByField

    public FieldMetaData getOrderByField(ClassMetaData meta,
                                         String orderBy)

### newValueOrder

    protected Order newValueOrder(FieldMetaData owner,
                                  boolean asc)

  Order by the field value.

### newRelatedFieldOrder

    protected Order newRelatedFieldOrder(FieldMetaData owner,
                                         FieldMetaData rel,
                                         boolean asc)

  Order by a field of the related type.

### newOrderArray

    protected Order[] newOrderArray(int size)

  Create an array of orders of the given size.

### removeMetaData

    public boolean removeMetaData(ClassMetaData meta)

  Remove a metadata instance from the repository.

  Returns:
    true if removed, false if not in this repository

### removeMetaData

    public boolean removeMetaData(Class<?> cls)

  Remove a metadata instance from the repository.

  Returns:
    true if removed, false if not in this repository

### addDeclaredInterfaceImpl

    void addDeclaredInterfaceImpl(ClassMetaData meta,
                                  Class<?> iface)

  Add the given metadata as declared interface implementation.

### setInterfaceImpl

    void setInterfaceImpl(ClassMetaData meta,
                          Class<?> impl)

  Set the implementation for the given managed interface.

### getImplGenerator

    InterfaceImplGenerator getImplGenerator()

### getMetaData

    public ClassMetaData getMetaData(Object oid,
                                     ClassLoader envLoader,
                                     boolean mustExist)

  Return the least-derived class metadata for the given application identity object.

  Parameters:
    `oid` - the oid to get the metadata for
    `envLoader` - the environmental class loader, if any
    `mustExist` - if true, throws a `MetaDataException` if no metadata is found

### getImplementorMetaDatas

    public ClassMetaData[] getImplementorMetaDatas(Class<?> cls,
                                                   ClassLoader envLoader,
                                                   boolean mustExist)

  Return all least-derived metadatas with some mapped assignable type that implement the given class.

  Parameters:
    `cls` - the class or interface to retrieve implementors for
    `envLoader` - the environmental class loader, if any
    `mustExist` - if true, throws a `MetaDataException` if no metadata is found

### getPersistenceAware

    public NonPersistentMetaData getPersistenceAware(Class<?> cls)

  Gets the metadata corresponding to the given persistence-aware class. Returns null, if the given class is not registered as persistence-aware.

### getPersistenceAwares

    public NonPersistentMetaData[] getPersistenceAwares()

  Gets all the metadatas for persistence-aware classes

  Returns:
    empty array if no class has been registered as pers-aware

### addPersistenceAware

    public NonPersistentMetaData addPersistenceAware(Class<?> cls)

  Add the given class as persistence-aware.

  Parameters:
    `cls` - non-null and must not alreaddy be added as persitence-capable

### removePersistenceAware

    public boolean removePersistenceAware(Class<?> cls)

  Remove a persitence-aware class from the repository

  Returns:
    true if removed

### getNonMappedInterface

    public NonPersistentMetaData getNonMappedInterface(Class<?> iface)

  Gets the metadata corresponding to the given non-mapped interface. Returns null, if the given interface is not registered as persistence-aware.

### getNonMappedInterfaces

    public NonPersistentMetaData[] getNonMappedInterfaces()

  Gets the corresponding metadatas for all registered, non-mapped interfaces

  Returns:
    empty array if no non-mapped interface has been registered.

### addNonMappedInterface

    public NonPersistentMetaData addNonMappedInterface(Class<?> iface)

  Add the given non-mapped interface to the repository.

  Parameters:
    `iface` - the non-mapped interface

### removeNonMappedInterface

    public boolean removeNonMappedInterface(Class<?> iface)

  Remove a non-mapped interface from the repository

  Returns:
    true if removed

### clear

    public void clear()

  Clear the cache of parsed metadata. This method also clears the internal `MetaDataFactory`'s cache.

### getPersistentTypeNames

    public Set<String> getPersistentTypeNames(boolean devpath,
                                              ClassLoader envLoader)

  Return the set of configured persistent classes, or null if the user did not configure any.

  Parameters:
    `devpath` - if true, search for metadata files in directories in the classpath if no classes are configured explicitly
    `envLoader` - the class loader to use, or null for default

### loadPersistentTypes

    public Collection<Class<?>> loadPersistentTypes(boolean devpath,
                                                    ClassLoader envLoader)

  Load the persistent classes named in configuration. This ensures that all subclasses and application identity classes of each type are known in advance, without having to rely on the application loading the classes before performing operations that might involve them.

  Parameters:
    `devpath` - if true, search for metadata files in directories in the classpath if the no classes are configured explicitly
    `envLoader` - the class loader to use, or null for default
  Returns:
    the loaded classes, or empty collection if none

### loadPersistentTypes

    public Collection<Class<?>> loadPersistentTypes(boolean devpath,
                                                    ClassLoader envLoader,
                                                    boolean mustExist)

  Load the persistent classes named in configuration. This ensures that all subclasses and application identity classes of each type are known in advance, without having to rely on the application loading the classes before performing operations that might involve them.

  Parameters:
    `devpath` - if true, search for metadata files in directories in the classpath if the no classes are configured explicitly
    `envLoader` - the class loader to use, or null for default
    `mustExist` - if true then empty list of classes or any unloadable but specified class will raise an exception.
  Returns:
    the loaded classes, or empty collection if none

### getPCSubclasses

    Collection<Class<?>> getPCSubclasses(Class<?> cls)

  Return all known subclasses for the given class mapping. Note that this method only works during runtime when the repository is registered as a `PCRegistry.RegisterClassListener`.

### register

    public void register(Class<?> cls)

  Specified by:
    `register` in interface `PCRegistry.RegisterClassListener`

### processRegisteredClasses

    Class<?>[] processRegisteredClasses(ClassLoader envLoader)

  Updates our datastructures with the latest registered classes.

### registerAlias

    void registerAlias(Class<?> cls)

  Register the given class to the list of known aliases. The alias is registered only if the class has been enhanced.

### registerAlias

    public void registerAlias(String alias,
                              Class<?> cls)

### setMetaModel

    public void setMetaModel(Class<?> m2)

  Puts the meta class corresponding to the given entity class.

### setMetaModel

    public void setMetaModel(ClassMetaData meta,
                             Class<?> m2)

  Puts the meta class corresponding to the given persistent class.

### getMetaModel

    public Class<?> getMetaModel(ClassMetaData meta,
                                 boolean load)

  Gets the meta class corresponding to the given persistent class.

### getMetaModel

    public Class<?> getMetaModel(Class<?> entity,
                                 boolean load)

  Gets the meta class corresponding to the given class. If load is false, returns the meta class if has been set for the given persistent class earlier. If the load is true then also attempts to apply the current naming policy to derive meta class name and attempts to load the meta class.

### setConfiguration

    public void setConfiguration(Configuration conf)

  Description copied from interface: `Configurable`
  Invoked prior to setting bean properties.

  Specified by:
    `setConfiguration` in interface `Configurable`

### startConfiguration

    public void startConfiguration()

  Description copied from interface: `Configurable`
  Invoked before bean property configuration is begun on this object.

  Specified by:
    `startConfiguration` in interface `Configurable`

### endConfiguration

    public void endConfiguration()

  Description copied from interface: `Configurable`
  Invoked upon completion of bean property configuration for this object.

  Specified by:
    `endConfiguration` in interface `Configurable`

### getQueryMetaData

    public QueryMetaData getQueryMetaData(Class<?> cls,
                                          String name,
                                          ClassLoader envLoader,
                                          boolean mustExist)

  Return query metadata for the given class, name, and classloader.

### getQueryMetaDatas

    public QueryMetaData[] getQueryMetaDatas()

  Return the cached query metadata.

### getCachedQueryMetaData

    public QueryMetaData getCachedQueryMetaData(Class<?> cls,
                                                String name)

### getCachedQueryMetaData

    public QueryMetaData getCachedQueryMetaData(String name)

  Return the cached query metadata for the given name.

### addQueryMetaData

    public QueryMetaData addQueryMetaData(Class<?> cls,
                                          String name)

  Add a new query metadata to the repository and return it.

### newQueryMetaData

    protected QueryMetaData newQueryMetaData(Class<?> cls,
                                             String name)

  Create a new query metadata instance.

### removeQueryMetaData

    public boolean removeQueryMetaData(QueryMetaData meta)

  Remove the given query metadata from the repository.

### removeQueryMetaData

    public boolean removeQueryMetaData(Class<?> cls,
                                       String name)

  Remove query metadata for the given class name if in the repository.

### searchQueryMetaDataByName

    public QueryMetaData searchQueryMetaDataByName(String name)

  Searches all cached query metadata by name.

### getQueryKey

    protected static Object getQueryKey(Class<?> cls,
                                        String name)

  Return a unique key for a given class / name. The class argument can be null.

### getSequenceMetaData

    public SequenceMetaData getSequenceMetaData(String name,
                                                ClassLoader envLoader,
                                                boolean mustExist)

  Return sequence metadata for the given name and classloader.

### getSequenceMetaData

    SequenceMetaData getSequenceMetaData(ClassMetaData context,
                                         String name,
                                         boolean mustExist)

  Used internally by metadata to retrieve sequence metadatas based on possibly-unqualified sequence name.

### getSequenceMetaDatas

    public SequenceMetaData[] getSequenceMetaDatas()

  Return the cached sequence metadata.

### getCachedSequenceMetaData

    public SequenceMetaData getCachedSequenceMetaData(String name)

  Return the cached a sequence metadata for the given name.

### addSequenceMetaData

    public SequenceMetaData addSequenceMetaData(String name)

  Add a new sequence metadata to the repository and return it.

### newSequenceMetaData

    protected SequenceMetaData newSequenceMetaData(String name)

  Create a new sequence metadata instance.

### removeSequenceMetaData

    public boolean removeSequenceMetaData(SequenceMetaData meta)

  Remove the given sequence metadata from the repository.

### removeSequenceMetaData

    public boolean removeSequenceMetaData(String name)

  Remove sequence metadata for the name if in the repository.

### is_systemListenersActivated

    public boolean is_systemListenersActivated()

  Whether any system (default) listeners have been registered. Used as a quick test to determine whether the callback/listener mechanism has been enabled.

  Returns:
    boolean

### addSystemListener

    public void addSystemListener(Object listener)

  Add the given system lifecycle listener.

### removeSystemListener

    public boolean removeSystemListener(Object listener)

  Remove the given system lifecycle listener.

### getSystemListeners

    public LifecycleEventManager.ListenerList getSystemListeners()

  Return the system lifecycle listeners

### close

    public void close()

  Free the resources used by this repository. Closes all user sequences.

  Specified by:
    `close` in interface `Closeable`

### getXMLMetaData

    public XMLMetaData getXMLMetaData(Class<?> cls)

  Return XML metadata for a given field metadata

  Parameters:
    `fmd` -
  Returns:
    XML metadata

### addXMLClassMetaData

    public XMLClassMetaData addXMLClassMetaData(Class<?> type)

  Create a new metadata, populate it with default information, add it to the repository, and return it.

  Parameters:
    `access` - the access type to use in populating metadata

### getCachedXMLMetaData

    public XMLMetaData getCachedXMLMetaData(Class<?> cls)

  Return the cached XMLClassMetaData for the given class Return null if none.

### newXMLClassMetaData

    protected XMLClassMetaData newXMLClassMetaData(Class<?> type)

  Create a new xml class metadata

  Parameters:
    `type` -
    `name` -
  Returns:
    a XMLClassMetaData

### newXMLFieldMetaData

    public XMLFieldMetaData newXMLFieldMetaData(Class<?> type,
                                                String name)

  Create a new xml field meta, add it to the fieldMap in the given xml class metadata

  Parameters:
    `type` -
    `name` -
    `meta` -
  Returns:
    a XMLFieldMetaData

### needsPreload

    public static boolean needsPreload(Options o)

### getCachedMetaData

    public ClassMetaData getCachedMetaData(String typeName)

  This method returns the ClassMetaData whose described type name matches the typeName parameter. It ONLY operates against MetaData that is currently known by this repository. Note: This method call WILL NOT resolve any metadata.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.