|
Business Components | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--oracle.jbo.common.BaseObject | +--oracle.jbo.server.NamedObjectImpl | +--oracle.jbo.server.DefObject | +--oracle.jbo.server.ApplicationModuleDefImpl
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 |
protected java.lang.Class mComponentClass
protected boolean mClearCacheOnCommit
protected boolean mClearCacheOnRollback
protected boolean mRequeryOnCommit
protected java.util.Hashtable mValidatorTypes
protected java.util.Hashtable mViewUsages
protected java.util.Vector mViewUsageList
protected java.util.Hashtable mViewLinkUsages
protected java.util.Vector mViewLinkUsageList
protected java.util.Hashtable mRemoteServers
Constructor Detail |
protected ApplicationModuleDefImpl()
Method Detail |
public static ApplicationModuleDefImpl findDefObjectNoSub(java.lang.String name)
Finds the named Application Module definition. Performs essentially
the same operation as findDefObject
, except that it
does not observe meta-object substitution.
name
- The fully qualified name of the ApplicationModuleDefImpl.MetaObjectManager
public static ApplicationModuleDefImpl findDefObject(java.lang.String name)
Finds an ApplicationModuleDefImpl instance, by name, from the statically maintained list of metaobjects. Def objects are stored by name in the XML file.
name
- The fully qualified name of the ApplicationModuleDefImpl.MetaObjectManager
public java.lang.Class getComponentClass()
Gets this instance's class.
public java.lang.String getServerClassName(java.lang.String platform)
Returns the server class name of the remote server.
platform
- the platform to which the Application Module was deployed.public java.lang.String getClientProxyClassName(java.lang.String platform)
Returns the proxy class name of the remote server.
platform
- the platform to which the Application Module was deployed.public boolean isClearCacheOnCommit()
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.
RowSet.executeQuery()
,
Transaction.isClearCacheOnCommit()
,
Transaction.setClearCacheOnCommit(boolean val)
public boolean isClearCacheOnRollback()
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.
RowSet.executeQuery()
,
Transaction.setClearCacheOnRollback(boolean val)
,
Transaction.isClearCacheOnRollback()
public boolean isRequeryOnCommit()
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.
protected static ApplicationModuleDefImpl loadFromXML(oracle.jbo.server.xml.JboElementImpl xmlElement)
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.
xmlElement
- the XMLStream for Business Components for Java Framework.protected static ApplicationModuleDefImpl loadFromXML(oracle.jbo.server.xml.JboElementImpl xmlElement, ApplicationModuleDefImpl aInfo)
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.
XMLelement
- represents XMLStream that providesthe JboElement.aInfo
- instance of the ApplicationModuleDef.public void loadContainees()
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.
|
Business Components | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |