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

## oracle.jbo.server
Class ApplicationModuleDefImpl

    java.lang.Object
      |
      +--oracle.jbo.common.BaseObject
            |
            +--oracle.jbo.server.NamedObjectImpl
                  |
                  +--oracle.jbo.server.DefObject
                        |
                        +--oracle.jbo.server.ApplicationModuleDefImpl

public class ApplicationModuleDefImpl
extends oracle.jbo.server.DefObject

The base class for all generated `ApplicationModule` classes.

An Application Module is a container for View Objects, View Links and other Application Modules. This class stores the runtime metadata for Application Modules. Like other Def objects, `ApplicationModuleDef` objects are stored, by name, in the XML file. This class is needed to load an Application Module and the components it contains from XML metadata. Calling `loadXML()` on an object instantiated from this class causes its components to be installed.

Field Summary
`protected boolean` | `mClearCacheOnCommit` Value determines whether cache should be cleared on a database commit operation.
`protected boolean` | `mClearCacheOnRollback` Value determines whether cache should be cleared on a database rollback operation.
`protected java.lang.Class` | `mComponentClass` The class name for the object representing the ApplicationModuleDef.
`protected java.util.Hashtable` | `mRemoteServers` Hash table to keep name value pairs for Platform, RemoteServer pairs.
`protected boolean` | `mRequeryOnCommit` Value determines whether the database should be requeried after a commit operation.
`protected java.util.Hashtable` | `mValidatorTypes`
`protected java.util.Vector` | `mViewLinkUsageList` List of ViewLinkUsages.
`protected java.util.Hashtable` | `mViewLinkUsages` Hash Table to keep a list of name value pairs for ViewLinkUsages.
`protected java.util.Vector` | `mViewUsageList` List of View Object names.
`protected java.util.Hashtable` | `mViewUsages` Hash table to keep a list of name value pairs for ViewUsages.

Fields inherited from class oracle.jbo.server.DefObject
`mCompUsageList, mCompUsages`

Fields inherited from class oracle.jbo.server.NamedObjectImpl
`mFullName, mName, mParent, mProperties`

Fields inherited from class oracle.jbo.common.BaseObject
`TRACE_EVERY_ALLOC, TRACE_NONE, TRACE_OCCASIONAL, TRACE_UNINITIALIZED`

Constructor Summary
`protected` | `ApplicationModuleDefImpl()` Default Constructor.

Method Summary
`static ApplicationModuleDefImpl` | `findDefObject(java.lang.String name)` Internal: Applications should not use this method.
`static ApplicationModuleDefImpl` | `findDefObjectNoSub(java.lang.String name)` Internal: Applications should not use this method.
`java.lang.String` | `getClientProxyClassName(java.lang.String platform)` Internal: Applications should not use this method.
`java.lang.Class` | `getComponentClass()` Internal: Applications should not use this method.
`java.lang.String` | `getServerClassName(java.lang.String platform)` Internal: Applications should not use this method.
`boolean` | `isClearCacheOnCommit()` Indicates whether all Entity Object caches will be cleared after the transaction is committed.
`boolean` | `isClearCacheOnRollback()` Indicates whether all Entity Object caches will be cleared after the transaction is rolled back.
`boolean` | `isRequeryOnCommit()` Indicates whether View Objects associated with this Application Module should be marked as needing to be executed after a database commit.
`void` | `loadContainees()` Internal: Applications should not use this method.
`protected static ApplicationModuleDefImpl` | `loadFromXML(oracle.jbo.server.xml.JboElementImpl xmlElement)` Internal: Applications should not use this method.
`protected static ApplicationModuleDefImpl` | `loadFromXML(oracle.jbo.server.xml.JboElementImpl xmlElement, ApplicationModuleDefImpl aInfo)` Internal: Applications should not use this method.

Methods inherited from class oracle.jbo.server.DefObject
`getPackageDef, getPackageName, isObjectResolved`

Methods inherited from class oracle.jbo.server.NamedObjectImpl
`getFullName, getName, getParent, getProperties, getPropertiesAsStrings, getProperty, refreshProperty, setFullName, setProperty`

Methods inherited from class oracle.jbo.common.BaseObject
`dumpState, setTraceLevel, setTraceWriter`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### mComponentClass

    protected java.lang.Class mComponentClass

  The class name for the object representing the ApplicationModuleDef.

### mClearCacheOnCommit

    protected boolean mClearCacheOnCommit

  Value determines whether cache should be cleared on a database commit operation.

### mClearCacheOnRollback

    protected boolean mClearCacheOnRollback

  Value determines whether cache should be cleared on a database rollback operation.

### mRequeryOnCommit

    protected boolean mRequeryOnCommit

  Value determines whether the database should be requeried after a commit operation.

### mValidatorTypes

    protected java.util.Hashtable mValidatorTypes

### mViewUsages

    protected java.util.Hashtable mViewUsages

  Hash table to keep a list of name value pairs for ViewUsages.

### mViewUsageList

    protected java.util.Vector mViewUsageList

  List of View Object names.

### mViewLinkUsages

    protected java.util.Hashtable mViewLinkUsages

  Hash Table to keep a list of name value pairs for ViewLinkUsages.

### mViewLinkUsageList

    protected java.util.Vector mViewLinkUsageList

  List of ViewLinkUsages.

### mRemoteServers

    protected java.util.Hashtable mRemoteServers

  Hash table to keep name value pairs for Platform, RemoteServer pairs.

Constructor Detail

### ApplicationModuleDefImpl

    protected ApplicationModuleDefImpl()

  Default Constructor.

Method Detail

### findDefObjectNoSub

    public static ApplicationModuleDefImpl findDefObjectNoSub(java.lang.String name)

  Internal: Applications should not use this method.

  Finds the named Application Module definition. Performs essentially the same operation as `findDefObject`, except that it does not observe meta-object substitution.

  Parameters:
    `name` - The fully qualified name of the ApplicationModuleDefImpl.
  Returns:
    the Application Module definition corresponding to the specified name.
  See Also:
    `MetaObjectManager`

### findDefObject

    public static ApplicationModuleDefImpl findDefObject(java.lang.String name)

  Internal: Applications should not use this method.

  Finds an `ApplicationModuleDefImpl` instance, by name, from the statically maintained list of metaobjects. Def objects are stored by name in the XML file.

  Parameters:
    `name` - The fully qualified name of the ApplicationModuleDefImpl.
  Returns:
    the Application Module definition corresponding to the specified name.
  See Also:
    `MetaObjectManager`

### getComponentClass

    public java.lang.Class getComponentClass()

  Internal: Applications should not use this method.

  Gets this instance's class.

  Returns:
    the class.

### getServerClassName

    public java.lang.String getServerClassName(java.lang.String platform)

  Internal: Applications should not use this method.

  Returns the server class name of the remote server.

  Parameters:
    `platform` - the platform to which the Application Module was deployed.
  Returns:
    the server class of a `RemoteServer` instance, or `null`.

### getClientProxyClassName

    public java.lang.String getClientProxyClassName(java.lang.String platform)

  Internal: Applications should not use this method.

  Returns the proxy class name of the remote server.

  Parameters:
    `platform` - the platform to which the Application Module was deployed.
  Returns:
    the proxy class name of a `RemoteServer` instance, or `null`.

### isClearCacheOnCommit

    public boolean isClearCacheOnCommit()

  Indicates whether all Entity Object caches will be cleared after the transaction is committed. If the Entity caches are cleared, they will be refreshed with new data from the database. Clearing the Entity cache will ensure that all changes from the database will be captured; relying on the fault-in mechanism or `RowSet.executeQuery` might miss some of the changes.

  The value of the Application Module's `isClearCacheOnCommit()` flag will be used if the client has not set this flag in the Transaction. At the end of transaction, the transaction checks the value of its `isClearCacheOnCommit` flag and either clears the Entity Object caches or not. However, if the client never called `setClearCacheOnCommit` on this transaction, the framework will use the value for the root Application Module's definition object.

  In contrast, if the client called `oracle.jbo.Transaction.setClearCacheOnCommit` on the Transaction, then the value of the root Application Module Def's `isClearCacheOnCommit` is not used.

  Note that clearing the Entity Object caches has performance ramifications: repopulating the caches is expensive in terms of time and processing effort.

  Returns:
    `true` indicates that the Entity Object caches will be cleared on commit, and will be refreshed with new data from the database.
  See Also:
    `RowSet.executeQuery()`, `Transaction.isClearCacheOnCommit()`, `Transaction.setClearCacheOnCommit(boolean val)`

### isClearCacheOnRollback

    public boolean isClearCacheOnRollback()

  Indicates whether all Entity Object caches will be cleared after the transaction is rolled back. If the Entity caches are cleared, they will be refreshed with new data from the database. Clearing the Entity caches will ensure that all changes from the database will be captured; relying on the fault-in mechanism or `RowSet.executeQuery` might miss some of the changes.

  The value of the Application Module's `isClearCacheOnRollback()` flag will be used if the client has not set this flag in the Transaction. At the end of transaction, the transaction checks the value of its `isClearCacheOnRollback` flag and either clears the Entity Object caches or not. However, if the client never called `setClearCacheOnRollback` on this transaction, the framework will use the value for the root Application Module's definition object.

  In contrast, if the client called `oracle.jbo.Transaction.setClearCacheOnRollback` on the Transaction, then the value of the root Application Module Def's `isClearCacheOnRollback` is not used.

  Note that clearing the Entity Object caches has performance ramifications: repopulating the caches is expensive in terms of time and processing effort.

  Returns:
    `true` indicates that the Entity Object caches will be cleared on rollback, and will be refreshed with new data from the database.
  See Also:
    `RowSet.executeQuery()`, `Transaction.setClearCacheOnRollback(boolean val)`, `Transaction.isClearCacheOnRollback()`

### isRequeryOnCommit

    public boolean isRequeryOnCommit()

  Indicates whether View Objects associated with this Application Module should be marked as needing to be executed after a database commit.

  If this method returns `true`, then after a database commit, all View Objects contained by this Application Module will be marked as needing to be executed. Any attempt to retrieve rows from these View Objects or their row sets/row set iterators will cause the query to be re-executed.

  Returns:
    `true` indicates that all View Ojbects will be marked as needing to be executed after a database commit.

### loadFromXML

    protected static ApplicationModuleDefImpl loadFromXML(oracle.jbo.server.xml.JboElementImpl xmlElement)

  Internal: Applications should not use this method.

  Loads the XML for the top-level Application Module and creates an instance of `ApplicatioModuleDef` for it. This function then recursively traverses all of the containee objects in the top-level Applicaton Module and creates Def objects for them.

  This function is almost pivotal from runtime's functional point of view.

  Parameters:
    `xmlElement` - the XMLStream for Business Components for Java Framework.

### loadFromXML

    protected static ApplicationModuleDefImpl loadFromXML(oracle.jbo.server.xml.JboElementImpl xmlElement,
                                                          ApplicationModuleDefImpl aInfo)

  Internal: Applications should not use this method.

  Loads the data from the XML stream. The method calls the MetaObjectManager to create an instance of the specific type of object and adds it to the hashtables that cache all the containees of the Application Module. The containees can be View Objects, View Links and Application Modules. The XMLStream is thus traversed to get the corresponding information about each of the possible children for an ApplicationModule, create these objects and add them to the cache.

  Parameters:
    `XMLelement` - represents XMLStream that providesthe JboElement.
    `aInfo` - instance of the `ApplicationModuleDef`.

### loadContainees

    public void loadContainees()

  Internal: Applications should not use this method.

  Loads all components (View Objects, View Links, and Application Modules) into this Application Module.

  The function loops through the list of View Object, View Link and Application Module names and loads the corresponding objects from a static list of metaobjects maintained by the MetaObjectManager. Since these objects are already created and stored for use in the cache, the retrieval is fast and efficient.

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