|
Business Components | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--oracle.jbo.common.NamedObjectImpl | +--oracle.jbo.mom.DefinitionObject | +--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 |
Type | Field |
---|---|
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
|
protected com.sun.java.util.collections.ArrayList |
mCompUsageList
List of ComponentObject names |
protected com.sun.java.util.collections.HashMap |
mCompUsages
Hash table to keep a list of name value pairs for ComponentUsages |
protected com.sun.java.util.collections.HashMap |
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 com.sun.java.util.collections.HashMap |
mValidatorTypes
|
protected com.sun.java.util.collections.ArrayList |
mViewLinkUsageList
List of ViewLinkUsages. |
protected com.sun.java.util.collections.HashMap |
mViewLinkUsages
Hash table to keep a list of name value pairs for ViewLinkUsages. |
protected com.sun.java.util.collections.ArrayList |
mViewUsageList
List of View Object names. |
protected com.sun.java.util.collections.HashMap |
mViewUsages
Hash table to keep a list of name value pairs for ViewUsages. |
Fields inherited from class oracle.jbo.mom.DefinitionObject |
mBaseDefObject, mExtendedDefObjects, mObjectResolved |
Fields inherited from class oracle.jbo.common.NamedObjectImpl |
mFullName, mObjName, mParent, mProperties |
Constructor Summary |
Type | Constructor |
---|---|
protected |
ApplicationModuleDefImpl()
Default Constructor. |
Method Summary |
Type | Method |
---|---|
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. |
protected void |
finishedLoading()
|
oracle.jbo.mom.DefinitionObject |
getBaseDefObject()
|
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. |
oracle.jbo.server.PackageDefImpl |
getPackageDef()
|
java.lang.String |
getPackageName()
|
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.mom.xml.DefElementImpl xmlElement)
Internal: Applications should not use this method. |
protected static ApplicationModuleDefImpl |
loadFromXML(oracle.jbo.mom.xml.DefElementImpl xmlElement,
ApplicationModuleDefImpl aInfo)
Internal: Applications should not use this method. |
protected void |
loadProperties(oracle.jbo.mom.xml.DefElementImpl xmlElement)
|
protected void |
resolveReferences()
|
protected void |
setBaseDefObject(oracle.jbo.mom.DefinitionObject baseDefObject)
|
protected void |
setName(java.lang.String name)
Name this object. |
protected void |
setParent(NamedObjectImpl parent)
Sets this object's parent. |
Methods inherited from class oracle.jbo.mom.DefinitionObject |
addExtendedDefObject, getContainerDef, getContainerName, getExtendedDefObjects, isBaseDefFor, isDynamicDefinitionObject, isObjectResolved, setObjectResolved |
Methods inherited from class oracle.jbo.common.NamedObjectImpl |
getFullName, getName, getParent,
getProperties, getPropertiesAsStrings, getPropertiesMap,
getProperty, refreshProperty, setFullName,
setPropertiesMap, setProperty |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected boolean mClearCacheOnCommit
protected boolean mClearCacheOnRollback
protected boolean mRequeryOnCommit
protected com.sun.java.util.collections.HashMap mValidatorTypes
protected com.sun.java.util.collections.HashMap mViewUsages
protected com.sun.java.util.collections.ArrayList mViewUsageList
protected com.sun.java.util.collections.HashMap mViewLinkUsages
protected com.sun.java.util.collections.ArrayList mViewLinkUsageList
protected com.sun.java.util.collections.HashMap mRemoteServers
protected com.sun.java.util.collections.HashMap mCompUsages
protected com.sun.java.util.collections.ArrayList mCompUsageList
protected java.lang.Class mComponentClass
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.mom.xml.DefElementImpl 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.mom.xml.DefElementImpl 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.
public oracle.jbo.server.PackageDefImpl getPackageDef()
public java.lang.String getPackageName()
protected void setName(java.lang.String name)
setName
in class oracle.jbo.mom.DefinitionObject
name
- the name to be given to this object.public oracle.jbo.mom.DefinitionObject getBaseDefObject()
getBaseDefObject
in class oracle.jbo.mom.DefinitionObject
protected void setBaseDefObject(oracle.jbo.mom.DefinitionObject baseDefObject)
setBaseDefObject
in class oracle.jbo.mom.DefinitionObject
protected void resolveReferences()
resolveReferences
in class oracle.jbo.mom.DefinitionObject
protected void finishedLoading()
finishedLoading
in class oracle.jbo.mom.DefinitionObject
protected void setParent(NamedObjectImpl parent)
setParent
in class oracle.jbo.mom.DefinitionObject
parent
- the named object that is to be the parent of this object.protected void loadProperties(oracle.jbo.mom.xml.DefElementImpl xmlElement)
loadProperties
in class oracle.jbo.mom.DefinitionObject
oracle.jbo.mom.DefinitionObject
xmlDoc
- The XML doc to load from.name
- The name of the Property.
|
Business Components | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |