|
Oracle Fusion Middleware extensions for Applications Core API Reference 11g Release 1 (11.1.1.5) E22562-01 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object oracle.jbo.common.NamedObjectImpl oracle.jbo.server.NamedObjectImpl oracle.jbo.server.ComponentObjectImpl oracle.jbo.server.ContainerObjectImpl oracle.jbo.server.ApplicationModuleImpl oracle.apps.fnd.applcore.oaext.model.OAApplicationModuleImpl
public class OAApplicationModuleImpl
A logical container of coordinated objects related to a particular task.
The business logic tier has one or more application modules that the other client and the database tiers interact with. An application module performs a specific application task, for example, handling online orders or processing salary increases. An application module lets you gather data tailored to a client interface, so data can be retrieved in one network round-trip instead of multiple trips. You can also perform calculations in the business logic tier through remotely accessible methods, reducing client overhead. For bulk operations on application data, you can perform the operation in the business logic tier without downloading all of the data to the client. Changes to the data the client is currently viewing will be automatically synchronized.
An application module has these main characteristics:
OnlineOrders
application module could
contain an AddNewCustomer
application module.
At runtime, a client creates an instance of an application module for its use. It can create an instance of an application module at design time, or an instance of the base application module class, called a generic application module. You can use a generic application module when you want a container for dynamically created view objects, view links and application modules. For example, if you have a complex application with a client menu containing many tasks, you might decide to create a generic application module that instantiates application modules as needed, based on the menu choice, within the same transaction.
A client can use application module instances in a pool. For example, in the case of a web application, you may have 1,000 users but you know that only 100 will be using a certain application module at one time so you keep 100 application module instances in a pool. When a client needs application module instance, it takes a free one from the pool and releases it to the pool after either committing or rolling back the transaction. Because the instance is pre-created, end users are saved the time it takes to instantiate the application module when they want to perform a task. This is typically used in web-based applications.
Root Application Module and Nested Application Module
An application module may be a root application module or a
nested application module. A root application module is
not contained in another application module. It provides
transaction context for all objects it contains.
Optionally, it may contain nested application modules. A root application
module is created through JNDI
calls.
A nested application module is contained within another application module. The containing application module is referred to as the parent application module. If you traverse this containership ancestry, you will eventually find the root application module. A nested application module uses the transaction context provided by the root application module. Thus, data modifications performed in application modules parented by one root application module will commit or rollback together.
Transaction
Associated with the root application module is the
Transaction
object, which provides the transaction
context. From any application module, the user can retrieve
the transaction object through a call to getDBTransaction()
.
getDBTransaction()
first locates the root application module
and then returns the transaction object from it.
The Transaction
object manages database connection
and entity caches. Thus, changes made through one view object are visible
to other view objects as long as these view objects are all parented by the
one root application module. In contrast, if two view objects are parented
by two separate root application modules, then changes made through the
view object will not be seen by the second view object until the changes
are committed to database through the first root application module and
the second view object executes query as this will retrieve the most
up-to-date data from the database.
Once the root application module is created, nested application modules can
be created by calling createApplicationModule()
on the parent
application module.
Component Object
An application module may contain other nested application modules as well as view objects and view links. View objects enable the user to set up queries to the database and to retrieve data through them. View links enable the user to relate two view objects, such that events occurring on one of them (referred to as master) will cause the other view object (referred to as detail) to refresh its result set based on the master's data values. These objects that may be contained by an application module are referred to as Component Objects.
A Component Object may be included in an application module during
design time or be created in it during run time. Component
objects included during design time are referred to as static
component objects. Those that are created during run time are referred to as
dynamic component objects. Dynamic component objects are
created through a call to a create...
method, for example
createViewObject()
creates a view object.
Each component object, whether static or dynamic, is given a name within the application module. This name can be used to locate a component object. When locating the component, the user may pass in a relative or absolute component object name. A relative name causes the application module to look for the component object starting from this application module. An absolute name causes the search to start from the root application module.
Application Module Definition
Behind every instance of an application module, is a definition, or metaobject, that describes the application module. You can look at the application module definition as the factory for application module instance. An application module definition is identified by its full name. The definition's full name is qualified by the package in which the definition resides.
Field Summary | |
---|---|
static java.lang.String |
RCS_ID
Oracle Applications internal source control identifier. |
Fields inherited from class oracle.jbo.server.ApplicationModuleImpl |
---|
DEFAULT_DEF_NAME, SHARED_SCOPE_APPLICATION, SHARED_SCOPE_SESSION |
Fields inherited from class oracle.jbo.server.ContainerObjectImpl |
---|
mComponentList, mComponents |
Fields inherited from class oracle.jbo.common.NamedObjectImpl |
---|
mFullName, mObjName, mParent, mProperties, RES_ID_SUFFIX |
Fields inherited from interface oracle.apps.fnd.applcore.oaext.model.OASeedDataService |
---|
RCS_ID_RECORDED |
Fields inherited from interface oracle.jbo.ApplicationModule |
---|
ACTIVATE_CLIENT_FLAG, ACTIVATE_REMOVE_FLAG, ACTIVATE_SKIP_RESTORE_VO_FROM_DEF, ACTIVATE_TRANSIENT_FLAG, ACTIVATE_UNDO_FLAG, DEFAULT_DEF_FULL_NAME, DEFAULT_ROOT_APP_MOD_NAME, EFF_DT_PROPERTY_STR, IMAGE_LOC, PASSIVATE_DEFER_FLAG, PASSIVATE_HINT_FLAG, PASSIVATE_TO_DATABASE, PASSIVATE_TO_FILE, PASSIVATE_TO_MEMORY, PASSIVATE_TO_STACK_FLAG, PASSIVATE_TRANSIENT_FLAG, PASSIVATE_UNDO_FLAG, RELEASE_LEVEL_MANAGED, RELEASE_LEVEL_RESERVED, RELEASE_LEVEL_UNMANAGED, REMOVE_SNAPSHOT, RESET_CLIENT_ONLY_FLAG, RESET_INTERNAL_FLAG, RESET_KEEP_ALL_SNAPSHOTS_FLAG, RESET_MANAGE_SNAPSHOTS, RESET_RELOAD_FLAG, RESET_ROLLBACK_FLAG, SYNC_BATCH, SYNC_IMMEDIATE, SYNC_LAZY |
Fields inherited from interface oracle.jbo.GenericHints |
---|
PROPERTY_LABEL, PROPERTY_LABEL_PLURAL, PROPERTY_TOOLTIP |
Fields inherited from interface oracle.jbo.common.TransPostControl |
---|
TRANS_POST_GET_ATTR_BY_INDEX, TRANS_POST_GET_ATTR_BY_NAME, TRANS_POST_GET_ATTR_COUNT, TRANS_POST_GET_ATTR_INDEX_OF, TRANS_POST_GET_STRUCTURE_DEF, TRANS_POST_PUSHBACK, TRANS_POST_REFRESH_UNDO_CHANGES, TRANS_POST_REFRESH_WITH_DB_FORGET_CHANGES, TRANS_POST_REFRESH_WITH_DB_ONLY_IF_UNCHANGED, TRANS_POST_REMOVE, TRANS_POST_SET_ATTR_BY_INDEX, TRANS_POST_SET_ATTR_BY_NAME |
Fields inherited from interface oracle.jbo.common.ws.WSApplicationModuleMarshaller |
---|
ACTIVATION_AFTER_LOSS_OF_AFFINITY, ACTIVATION_AFTER_RESTART, ACTIVATION_NONE, SYNC_INT_BATCH, SYNC_INT_BATCH_DO_WORK |
Constructor Summary | |
---|---|
OAApplicationModuleImpl()
|
Method Summary | |
---|---|
oracle.jbo.ApplicationModule |
getFNDNestedService(java.lang.String service)
This method can be used to get hold of FND Services like Profiles, Messages, Lookups etc. |
static oracle.jbo.ApplicationModule |
getFNDNestedService(java.lang.String service,
oracle.jbo.server.DBTransaction txn)
This method can be used to get hold of FND Services like Profiles, Messages, Lookups etc. |
java.lang.String |
getNLSLanguageForSeedData()
|
java.lang.String |
getSeedContext()
Returns the seed context associated with this instance. |
java.lang.Long |
getSequenceValue(java.lang.String pSequenceName)
Gets the next sequence value from the database. |
java.lang.Long |
getSetId(java.lang.Object setIdDeterminantValue,
java.lang.String setIdDeterminantType,
java.lang.String referenceGroupName)
Returns the Set Id corresponding to the specified determinant value, type, and reference group name. |
void |
invalidateSetIdCache()
Invalidates all of the Set Id cache. |
void |
invalidateSetIdCache(long setId)
Invalidates the cache for a specific Set Id. |
boolean |
isResetting()
Internal API. |
static boolean |
isSeedDataExtractMode()
|
static boolean |
isSeedDataMode()
This method signals to application developers that their code is being invoked from within the seed data framework that delivers their seed data to the customers. |
static boolean |
isSeedDataUploadMode()
|
boolean |
isT2PMode()
For internal ApplCore use only. |
protected void |
prepareSession(oracle.jbo.Session session)
|
protected void |
prepareSession(oracle.jbo.Session session,
java.lang.Boolean avoidSessionStuff)
|
void |
resetState(int flags)
|
void |
resetState(int flags,
boolean callSuper)
|
OASeedStatus |
seedExtract(java.lang.String viewName,
java.util.Map seedArgs)
Pass through stubs that call the seed data delegate. |
OASeedStatus |
seedUpload(java.io.InputStream is,
java.util.Map seedArgs)
Deprecated. This method is being retained only as stop gap measure till d8b4a RC7. |
OASeedStatus |
seedUpload(java.lang.String fileName,
java.util.Map seedArgs)
Pass through stubs that call the seed data delegate. |
OASeedStatus |
seedUpload(java.net.URL url,
java.util.Map seedArgs)
Pass through stubs that call the seed data delegate. |
void |
setNLSLanguageForSeedData(java.lang.String oraLang)
|
void |
setSeedContext(java.lang.String ctx)
|
void |
setT2PMode()
For internal ApplCore use only. |
void |
synchronizeApplSessionWithDB()
|
void |
unSetT2PMode()
For internal ApplCore use only. |
Methods inherited from class oracle.jbo.server.ApplicationModuleImpl |
---|
activate, activateConnectionState, activateOpenVOs, activateState, activateState, activateState, activateState, activateStateForUndo, addChild, addResponse, addWarning, afterActivation, afterCommit, afterConnect, afterRemove, afterRollback, afterValidate, beforeCommit, beforeDisconnect, beforeRollback, beforeValidate, bindToWorkingSet, clearVOCaches, createApplicationModule, createComponentObject, createCompositeViewDef, createRootApplicationModule, createSharedDataHandle, createViewLink, createViewLink, createViewLinkBetweenViewObjects, createViewLinkFromEntityAssocName, createViewObject, createViewObject, createViewObjectForDef, createViewObjectFromQueryClauses, createViewObjectFromQueryStmt, createViewObjectFromQueryStmt, createViewObjectOnEntity, createViewObjectOnRowSet, createWorkerApplicationModule, createXMLSharedDataHandle, detach, doMessage, doPoolMessage, dumpQueryResult, executeCommand, executeQueryOnViewObjects, fetchAttributeProperties, findApplicationModule, findComponentObject, findObject, findObject, findOrCreateSharedApplicationModule, findRSIForEntity, findViewLink, findViewObject, findViewObjectUsingEntity, findViewObjectWithParameters, findVOsWithEntityUsage, findVOsWithEntityUsage, finishLoadingComponents, finishSyncWorkingSet, getAMStatistics, getApplicationModuleDef, getApplicationModuleImpls, getApplicationModuleNames, getApplicationModuleNames, getAppModuleRequestHandler, getAttributeDefs, getAttributeDefs, getAttributeDefsForVO, getClientProxyClassName, getClientProxyClassName, getClientProxyInterfaceName, getComponentObjectNames, getComponentObjectNames, getCurrentWorkingSet, getDBTransaction, getDefFullName, getDefName, getEntityAttributesPermission, getEntityRowFromHandle, getExceptionHandler, getImageLoc, getListBindingName, getListBindingRSI, getMostRecentStackId, getObjectMarshaller, getPreferredListRSI, getReleaseLevel, getRemoteObjectId, getResponseName, getSession, getStyles, getSyncLock, getSyncMode, getTransaction, getTransactionInternal, getUserPrincipalName, getViewAttributesPermission, getViewLinkNames, getViewLinkNames, getViewLinks, getViewObjectNames, getViewObjectNames, getViewObjects, getWorkingSetMarshaller, handleDefinitionChangedOnActivate, hasPendingDataPosts, internalGetListBindingRSI, invokeMethod, isForRemote, isLoadComponentsLazily, isNameGenerated, isRoot, isTransientTransactionListener, isValidIdForUndo, launchTester, marshal, marshalForActivate, passivateConnectionState, passivateOpenVOs, passivateState, passivateState, passivateState, passivateState, passivateState, passivateStateForUndo, prepareApplicationModuleSession, prepareForActivation, prepareForPassivation, prepareSession, prepareViewObjects, processChangeNotifications, remove, removeChild, removeState, reservePassivationId, reserveSnapshotId, reset, resetState, selectAttributesForViewObjects, sendServiceMessage, sendWorkingSetRequests, setBoundToWorkingSet, setDataModelRefresh, setDBConnectionRequired, setExceptionHandler, setLoadComponentsLazily, setReleaseLevel, setRemoteAdapter, setSessionUserData, setStoreForPassiveState, setStyles, setSyncMode, setWorkingSetMarshaller, sync, syncMarshaller, syncWorkingSet, transformExceptionParams, transformExceptionParams, transPostGetAttr, transPostPushback, transPostRefresh, transPostRemove, transPostRevert, transPostRowOp, transPostSetAttr, transPostSetAttrValues |
Methods inherited from class oracle.jbo.server.ContainerObjectImpl |
---|
addContainerListener, removeContainerListener |
Methods inherited from class oracle.jbo.server.ComponentObjectImpl |
---|
addListener, applyPersonalization, create, createRef, createVariableValueManager, ensureVariableManager, findOperationDefinitions, getAllProperties, getApplicationModule, getCompListeners, getCompListenersList, getDefinitionManager, getFullNameForPersDef, getHintValue, getLabel, getLabelPlural, getMessageBundleClass, getProxyClassName, getProxyClassName, getResourceBundleDef, getRootApplicationModule, getStringFromMessageBundle, getTooltip, getVariableManager, hasVariables, isDead, isPersonalized, isRegWithPiggyMan, resolvePropertyRaw, setName, setParent, setProxyClassName |
Methods inherited from class oracle.jbo.server.NamedObjectImpl |
---|
setParent, setPropertiesMap |
Methods inherited from class oracle.jbo.common.NamedObjectImpl |
---|
allocatePropertyMap, getFullName, getName, getParent, getProperties, getPropertiesAsStrings, getPropertiesMap, getProperty, getProperty, getPropertyExpressionsMap, getPropertyMap, getResourcesFromBundle, isPropertyExpression, mergePropertyMap, refreshProperty, removeProperty, removeProperty, requiresNamePrefixedResId, resolveObjectProperty, setFullName, setPropertiesMap2, setProperty, setProperty, setPropertyExpression, setPropertyMap |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface oracle.jbo.ComponentObject |
---|
getFullName, getName |
Methods inherited from interface oracle.jbo.GenericHints |
---|
getHintValue, getLabel, getLabelPlural, getTooltip |
Methods inherited from interface oracle.jbo.Properties |
---|
getProperties, getProperty, getProperty, refreshProperty |
Methods inherited from interface oracle.jbo.VariableManagerOwner |
---|
getName |
Field Detail |
---|
public static final java.lang.String RCS_ID
Constructor Detail |
---|
public OAApplicationModuleImpl()
Method Detail |
---|
public oracle.jbo.ApplicationModule getFNDNestedService(java.lang.String service)
getFNDNestedService
in interface OAApplicationModule
service
- - Name of the service which needs to be retrieved.
public static oracle.jbo.ApplicationModule getFNDNestedService(java.lang.String service, oracle.jbo.server.DBTransaction txn)
service
- - Name of the service which needs to be retrieved.txn
- - DBTransaction instance.
public java.lang.Long getSequenceValue(java.lang.String pSequenceName)
pSequenceName
- name of the sequence from which to get the next
value. For example: "PO_REQUISITION_HEADERS_S"
pSequenceName
public java.lang.Long getSetId(java.lang.Object setIdDeterminantValue, java.lang.String setIdDeterminantType, java.lang.String referenceGroupName)
setIdDeterminantValue
- The determinant valuesetIdDeterminantType
- The determinant type which could be: BU, RR,
LE,...referenceGroupName
- the reference group name.
public void invalidateSetIdCache()
public void invalidateSetIdCache(long setId)
setId
- the setId to be invalidated.public OASeedStatus seedUpload(java.lang.String fileName, java.util.Map seedArgs)
seedUpload
in interface OASeedDataService
fileName
- file to be uploadedseedArgs
- parameters for the upload.
public OASeedStatus seedUpload(java.net.URL url, java.util.Map seedArgs)
seedUpload
in interface OASeedDataService
url
- URL abstracting access to the seed data fileseedArgs
- parameters for the upload.
@Deprecated public OASeedStatus seedUpload(java.io.InputStream is, java.util.Map seedArgs)
seedUpload
in interface OASeedDataService
is
- Input Stream abstracting the seed data fileseedArgs
- parameters for the upload.
public OASeedStatus seedExtract(java.lang.String viewName, java.util.Map seedArgs)
seedExtract
in interface OASeedDataService
viewName
- name of driver viewseedArgs
- parameters for the extract.
public static boolean isSeedDataMode()
public static boolean isSeedDataUploadMode()
public static boolean isSeedDataExtractMode()
public void setSeedContext(java.lang.String ctx)
public java.lang.String getSeedContext()
OASeedDataService
getSeedContext
in interface OASeedDataService
public java.lang.String getNLSLanguageForSeedData() throws java.lang.UnsupportedOperationException, java.sql.SQLException
java.lang.UnsupportedOperationException
- - if called by code outside of the seed fwk
java.sql.SQLException
public void setNLSLanguageForSeedData(java.lang.String oraLang) throws java.lang.UnsupportedOperationException, java.sql.SQLException
oraLang
- the Oracle language code
java.lang.UnsupportedOperationException
- - if called by code outside of the seed fwk
java.sql.SQLException
protected void prepareSession(oracle.jbo.Session session, java.lang.Boolean avoidSessionStuff)
protected void prepareSession(oracle.jbo.Session session)
prepareSession
in class oracle.jbo.server.ApplicationModuleImpl
public void resetState(int flags)
resetState
in interface oracle.jbo.ApplicationModule
resetState
in class oracle.jbo.server.ApplicationModuleImpl
public void resetState(int flags, boolean callSuper)
public boolean isT2PMode()
public void setT2PMode()
public void unSetT2PMode()
public boolean isResetting()
public void synchronizeApplSessionWithDB()
|
Oracle Fusion Middleware extensions for Applications Core API Reference 11g Release 1 (11.1.1.5) E22562-01 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |