Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 1 (11.1.1.4.0)

E10653-05

oracle.adf.model.bc4j
Class DCJboDataControl

java.lang.Object
  extended by java.util.AbstractMap
      extended by oracle.jbo.common.JboAbstractMap
          extended by oracle.adf.model.binding.DCDataControl
              extended by oracle.adf.model.bc4j.DCJboDataControl
All Implemented Interfaces:
java.util.EventListener, java.util.Map, DataControl, ManagedDataControl, TransactionStateListener
Direct Known Subclasses:
DCBeanDataControl, JUApplication

public class DCJboDataControl
extends DCDataControl
implements TransactionStateListener

The application class that manages connection to a BC4J Application Module. The DCDataControl class provides:

See Also:
ApplicationModule, Transaction, DCTransactionStateListener, DCErrorHandler

Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.AbstractMap
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>
 
Nested classes/interfaces inherited from interface oracle.adf.model.DataControl
DataControl.DataChangeEventPolicy
 
Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry<K,V>
 
Field Summary
static int EXC_MODE_DEFAULT
           
static int EXC_MODE_DEFERRED
           
static int EXC_MODE_IMMEDIATE
           
static java.lang.String INTERNALDC
           
static int VAL_MODE_ALWAYS
           
static int VAL_MODE_NEVER
           
static int VAL_MODE_REMOTE
           
static int VAL_MODE_UNINIT
           
 
Fields inherited from class oracle.adf.model.binding.DCDataControl
ABSTRACT, GET_ApplicationModule, GET_dataProvider, GET_DataProvider, GET_DCFrame, GET_MethodResults, GET_Name, JCLIENT, mBindingContainerList, mDataControlFrameName, mDataProvider, mErrorHandler, mErrorHandlerActive, mErrorHandlerThrow, METHOD_RESULT, mIsReleased, mIsReleasing, mIsRoot, mLocaleCtx, mLock, mName, mParent, mRootApplication, mStatusBarList, mTxnListeners, mUserData, OPER_CTRL_BINDING_VALIDATION, OPER_DATA_ROW_CREATE, OPER_DATA_ROW_CREATE_ONLY, OPER_DATA_ROW_REMOVE, OPER_DATA_ROW_UPDATE, OPER_EXECUTE, OPER_FIND_MODE, OPER_SORT_COLLECTION, PNAME_Type, REL_ALL_REFS, REL_DATA_REFS, REL_VIEW_REFS, REL_WEAK_DATA_REFS, VCCRITERIA, VCCRITERIAITEM, VCCRITERIAITEMVALUE, VCCRITERIAOPERATOR
 
Fields inherited from class oracle.jbo.common.JboAbstractMap
MAP_NULL_VALUE
 
Fields inherited from interface oracle.adf.model.DataControl
DATACHANGE_EVENT_POLLINGMODE
 
Constructor Summary
protected DCJboDataControl()
          *** For internal framework use only ***
  DCJboDataControl(ApplicationModule am)
          Constructor used internally by the framework to associate an application module with a JClient application object.
  DCJboDataControl(DCDataControl parent, ApplicationModule am, java.lang.Object userData)
          Constructor to be used to create a nested DCDataControl inside another DCDataControl object.
  DCJboDataControl(java.util.Hashtable context, java.lang.String rootAMDefName, java.lang.Object userData)
          Constructs a root DCDataControl object that connects to a BC4J Application Module of the given name.
  DCJboDataControl(SessionCookie sessionCookie)
           
 
Method Summary
 void addDataChangeListener(java.lang.Object dataObj, DataChangeListener dcl)
          Subclasses may choose to implement datachangemanager
protected  void applySortCriteria(DCIteratorBinding iter, SortCriteria[] sortBy)
          Sets the sort critiera that will be applied next time when the source for this iteratorBinding is executed.
 void applyViewCriteria(ViewCriteria vc, DCIteratorBinding iter, RowSetIterator rsi)
          Internal: Applications should not use this method.
protected  void beforeReportException(DCBindingContainer formBnd, java.lang.Exception ex)
           
 void beginRequest(java.util.HashMap requestCtx)
          Invoked in some contexts to signal the beginning of a model request.
protected  void clearIteratorBinding(DCIteratorBinding iter)
           
 void commitTransaction()
          Invokes the BC4J transaction's commit() method to save all changes to the database.
protected  void connect()
          *** For internal framework use only *** If this application is root, this method invokes the corresponding BC4J Transaction's connect() method to create a database connection.
 RowSetIterator createAccessorRowSetIterator(RowSetIterator masterRSI, DCIteratorBinding iter, java.lang.String accName, java.lang.String beanClass)
          creates a accessor RSI using the current or the first row of the masterRSI and calling the get<accName> method on it to get the RSI dataprovider.
protected  RowSetIterator createAccessorRowSetIterator(RowSetIterator masterRSI, Row row, DCIteratorBinding iter, java.lang.String accName, java.lang.String beanClass, boolean trackMaster)
           
protected  RowSetIterator createAccessorRowSetIteratorForMasterRow(DCIteratorBinding iter, RowSetIterator masterRSI, Row row, java.lang.Object result, java.lang.String accName, java.lang.String beanClass, boolean trackMaster)
           
 void createRootApplicationModule()
          *** Advanced method *** *** For internal framework use only ***
 java.lang.Object createRowData(DCRowContext ctx)
          Create a new row for the iterator associated with the given iterator-binding at the given index and return the new row.
protected  RowSetIterator createRowSetIteratorImpl(java.lang.String defName, java.lang.Object sourceObj, RowSetIterator master)
          Create a DCRowSetIteratorImpl or a subclass thereof for the give defName element types, using the given source collection/object and optionally the master RSI if there is a dependency defined on the master.
 java.lang.Object createSavepoint()
           
protected  SessionCookie createSessionCookie(ApplicationPool pool, java.lang.String appId, java.lang.String sessionId, java.util.Properties cookieProps)
           
 java.io.Serializable createSnapshot()
          Creates a snapshot of the state of the DataControl.
 ViewCriteria createViewCriteria(DCIteratorBinding iter)
          Internal: Applications should not use this method. Create a new viewCriteria associated with the given iterator binding's collection.
 void endRequest(java.util.HashMap requestCtx)
          Invoked in some contexts to signal the end of a model request.
protected  void executeIteratorBinding(DCIteratorBinding iterBinding)
          Implies forced execute of the collection that this iterator binding is bound to.
protected  void executeIteratorBindingIfNeeded(DCIteratorBinding iterBinding)
          This method is invoked when a bindingcontainer is 'refreshing' itself before it's data is displayed.
 void executeIteratorBindingWithParams(DCIteratorBinding iter, OperationParameter[] params, java.lang.Object[] paramVals)
           
protected  ApplicationPool findApplicationPool(java.lang.String poolName, java.lang.String configPackage, java.lang.String configSection, java.util.Properties poolProps)
           
 ViewObject findCustomViewObject(java.lang.String name, java.lang.String interfaceName)
           
protected  RowSetIterator findOrCreateDetailViewObjectForCriteria(RowSetIterator master, Row masterRow, java.lang.String accName)
           
 RowSetIterator findOrCreateMethodRowSetIterator(DCIteratorBinding iter, java.lang.String beanClass, java.lang.Object result)
           
protected  RowSetIterator findOrCreateViewObjectForCriteria(DCIteratorBinding iter, ViewCriteria vc, RowSetIterator master, java.lang.String accName)
           
protected  RowSetIterator findOrCreateViewObjectForCriteriaItem(DCIteratorBinding iter, ViewCriteriaItem vc, RowSetIterator master)
           
protected  Variable findVariable(java.lang.String path)
           
protected  java.lang.Object getAccessorValue(RowSetIterator masterRSI, Row row, DCIteratorBinding iter, java.lang.String accName)
           
 ApplicationModule getAm()
           
protected  ApplicationModule getAM()
          *** For internal framework use only ***
 ApplicationModule getApplicationModule()
          Returns the associated oracle.jbo.ApplicationModule object
 AttributeDef[] getAttributeDefs(DCIteratorBinding iterBinding, java.lang.String[] attrNames)
          Return attribute definition for the given iterator binding and for the given set of attributes from the elements-definition of the mapped collection.
 java.util.Hashtable getContext()
          Returns the context object with which the root DCApplication was created.
 java.lang.Object getDataProvider()
          Return the Business Service Object that this datacontrol is associated with.
 java.util.Properties getDBConnectionProps()
          *** For internal framework use only ***
 java.lang.String getDBConnectionURL()
          *** For internal framework use only ***
protected  long getDeferredEstimatedRowCount(DCIteratorBinding iter)
           
 Definition getDefinition(java.lang.String defFullName, int defType)
           
protected  long getEstimatedRowCount(DCIteratorBinding iter)
          Implement estimated row count logic in this method and return the row count for a collection bound to this iterator.
 AttributeDef[] getKeyAttributeDefs(DCIteratorBinding dataIter)
           
 int getLastEventId()
          Subclasses may choose to implement datachangemanager returns -1;
 ListBindingDef getListBindingDef(DCIteratorBinding iter, Key rowKey, java.lang.String name)
           
 java.lang.String getListBindingName(DCIteratorBinding iter, Key rowKey, java.lang.String attrName, java.lang.String name)
           
 RowSetIterator getListBindingRSI(DCIteratorBinding iter, Key rowKey, java.lang.String attrName, java.lang.String name)
          Deprecated. since 11.1.1.0.0
 LocaleContext getLocaleContext()
          Returns the locale for this Application
 java.lang.String getPackageName()
          *** For internal framework use only ***
 RowSetIterator getPreferredListRSI(DCIteratorBinding iter, Key rowKey, java.lang.String attrName, java.lang.String name)
           
 int getReleaseLevel()
           
 java.lang.String getRootAMDefName()
          Returns root DCDataControl's ApplicationModule definition name.
protected  RowSetIterator getRowSetIterator(java.lang.String masterName)
          Given the name of an RSI, find if it's already created and cached on the datacontrol
protected  SortCriteria[] getSortCriteria(DCIteratorBinding iter)
          Returns an ordered array of SortCriteria that will be applied when the source for this iteratorBinding is executed.
 int getValidationInBinding()
          *** For internal framework use only ***
 ViewCriteria getViewCriteria(DCIteratorBinding iter)
          Internal: Applications should not use this method. Return viewCriteria associated with the given iterator binding's collection.
protected  boolean hasKeyAttributes(DCIteratorBinding iter)
           
 void initialize()
          *** Advanced method *** *** For internal framework use only ***
protected  void initializeApplicationModule(boolean force)
           
protected  void initializeJboSession(java.lang.String configPackage, java.lang.String configName)
           
protected  void initializeJboSession(java.lang.String configPackage, java.lang.String configName, java.util.Properties poolProps, java.util.Properties cookieProps)
           
protected  void initSessionCookie(SessionCookie cookie)
          *** For internal framework use only ***
protected  java.lang.Object internalGet(java.lang.String key)
          For EL evaluation.
protected  DCBeanDataControl internalGetBeanDataControl()
           
protected  void internalSetTransactionStateChanged(boolean state)
           
protected  java.lang.Object invokeMethod(DCInvokeMethod method, OperationBinding action, java.util.Map paramsMap)
          Override this method if a datacontrol wants to implement custom invocation of a method and avoid introspection and invoke method call using reflection.
protected  boolean isBoundRowIteratorEvent(DCIteratorBinding iter, JboEvent ev)
           
 boolean isClientTier()
          Returns true if this data-control's Application module is deployed in three-tier mode
 boolean isOperationSupported(DCIteratorBinding iterBinding, byte oper)
          Returns true for find, create, remove operations.
protected  boolean isPinnedForDCE()
           
 boolean isTransactionDirty()
          Returns true if this transaction has been dirtied by this application.
protected  boolean modifyTransactionStateForAttributeSet(DCIteratorBinding iterBind, Row row, AttributeDef ad)
           
 void prepareSession()
           
 void processChangeNotifications()
          During the render phase of the datacontrol lifecycle the pending notifications for auto refreshing data may be processed.
 void release()
          Use this method to release connection to an Application Module
 void removeDataChangeListener(java.lang.Object dataObj, DataChangeListener dcl)
          Subclasses may choose to implement datachangemanager
 boolean removeRowData(DCRowContext ctx)
          This method is to remove the row object (the obj parameter) from the underlying data source.
 void removeSnapshot(java.io.Serializable handle)
          Removes the snapshot associated with the snapshot handle.
protected  void resetAttributeExceptionInRow(DCIteratorBinding iter, Row row, AttributeDef def, AttrValException ave)
          Reset any deferred exception in the row for the given attribute, for which the AttrValException was raised.
 boolean resetState()
          Resets the DataControl.
 void restoreSavepoint(java.lang.Object handle)
           
 void restoreSnapshot(java.io.Serializable handle)
          Restore the state of the DataControl with the snapshot state that is referenced by the handle.
 void rollbackTransaction()
          Helper method that invokes rollback on the current Transaction.
protected  void setApplicationModule(ApplicationModule am)
          *** For internal framework use only ***
 void setAttributeInRow(DCIteratorBinding iterBind, Row row, AttributeDef ad, java.lang.Object value)
           
 void setBundledExceptionMode(int mode)
           
 void setClientApp(byte clientType)
          Incase of non-JClient, set the transaction to deferred exception mode by default
 void setConnectionInfo(java.lang.String dbConnectionURL, java.util.Properties dbConnectionProps)
          *** For internal framework use only ***
 void setCurrentRowWithKey(DCIteratorBinding iter, Key keyObj)
          Use the given key to set the current row in the RowSetIterator for the given iteratorbinding.
 void setCurrentRowWithKey(DCIteratorBinding iter, java.lang.String stringKey)
          Converts the serialized stringKey into a Row key object (using collection's key metadata) and then calls findByKey on the RowSetIterator to find the row matching this key.
 void setCurrentRowWithKeyValue(DCIteratorBinding iter, java.lang.String stringValue)
          This method works for Collections with only one Key attribute and not for multi-part attribute keys.
protected  void setDataProvider(java.lang.Object provider)
           
 void setLocaleContext(LocaleContext locale)
          Helper method that sets the locale in the current Application Module's session.
 void setPackageName(java.lang.String packageName)
          *** For internal framework use only ***
 void setPartialUpdate(boolean flag)
          Tell DC that this binding is being updated during partial update, so that it doesn't cache any exceptions for this udpate and simply throws them back.
protected  void setPinned(boolean flag)
          Advanced for ADS usage only
 void setReleaseLevel(int releaseLevel)
           
 void setSessionCookie(SessionCookie sessionCookie)
           
 void setValidationInBinding(int flag)
          *** For internal framework use only ***
 int startEvents(int fromId)
          Subclasses may choose to implement datachangemanager returns fromId as is.
 void stopEvents()
           
 void sync(java.lang.String syncFromDiagnostic)
          Incase syncNeeded, then use this event to synchronize data from remote tier in batch.
 void syncIfNeeded(java.lang.String syncFromDiagnostic)
          Incase syncNeeded, then use this event to synchronize data from remote tier in batch.
 boolean syncNeeded()
          Primarily used in ADFBC which returns true, if it is deployed in batchmode.
 void validate()
          Called when datacontrol changes needs to be validated after updates have been processed for a page.
 
Methods inherited from class oracle.adf.model.binding.DCDataControl
_internal_dbg_debug_data, addBindingContainer, addBindingContainer, addBindingContainer, addBindingContainerRef, addBindingWithExc, addDataChangeListener, addOrCreateBindingContainer, addStatusBarInterface, addTransactionStateListener, afterReportException, cacheMethodResult, callCommitTransaction, cleanup, createAccessorRowSetIterator, createBindingContainer, createBindingContainerInstance, createRowSetIteratorImpl, discardIfDefinitionChanged, displayStatus, displayStatus, doneCommit, doneRollback, findBindingContainer, findOrCreateAccessorRowSetIterator, findOrCreateAccessorRowSetIterator, findOrCreateRowSetIteratorImpl, focusGained, get, getAdaptedDC, getAppDefName, getBindingContext, getCurrentErrorHandler, getDataControlFrameName, getDef, getErrorHandlerActive, getIteratorStructureDefName, getMethodResults, getMethodResultUseCount, getName, getParent, getRootDataControl, getSecurityContext, getSessionContext, getSessionContextManager, getSubstitutedDefNames, getSyncLock, getUnresolvedBindingContainer, getUserData, hasBindingsWithExc, hasDefinitionChanged, hasOperationParamsChanged, hasPermission, hasPermission, hasPermission, initializeBindingContainer, initializeContainerFromDef, initializeFromMetadata, internalCacheMethodResults, internalGetCurrentRow, internalGetDataControlFrame, internalGetIterBindingViewObject, internalPut, invalidateMethodResult, invokeMethod, invokeOperation, isAttributeSortable, isDataChangeManager, isJClientApp, isReleasing, isRoot, isTransactionModified, markAccessorIterListenerForFKMerge, rebuildIteratorIfNeeded, registerDataProvider, release, releaseAll, releaseBindings, releaseData, releaseFromDCFrame, releaseMethodResults, removeBindingContainer, removeBindingWithExc, removeDataChangeListener, removeRowDataFromCollection, removeStatusBarInterface, removeTransactionStateListener, reportException, resolveAttributeDefs, setAppDefName, setAttributesInRow, setBindingContext, setDataControlFrameName, setDef, setErrorHandler, setErrorHandlerActive, setName, setParent, setSessionContext, setTransactionModified, toString, transactionStateChanged
 
Methods inherited from class oracle.jbo.common.JboAbstractMap
entrySet, equals, hashCode, put, setThrowIfPropertyNotFoundOnGet
 
Methods inherited from class java.util.AbstractMap
clear, clone, containsKey, containsValue, isEmpty, keySet, putAll, remove, size, values
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface oracle.jbo.TransactionStateListener
doneCommit, doneRollback
 
Methods inherited from interface java.util.Map
clear, containsKey, containsValue, entrySet, equals, hashCode, isEmpty, keySet, put, putAll, remove, size, values
 

Field Detail

VAL_MODE_REMOTE

public static final int VAL_MODE_REMOTE
See Also:
Constant Field Values

VAL_MODE_ALWAYS

public static final int VAL_MODE_ALWAYS
See Also:
Constant Field Values

VAL_MODE_NEVER

public static final int VAL_MODE_NEVER
See Also:
Constant Field Values

VAL_MODE_UNINIT

public static final int VAL_MODE_UNINIT
See Also:
Constant Field Values

EXC_MODE_DEFAULT

public static final int EXC_MODE_DEFAULT
See Also:
Constant Field Values

EXC_MODE_DEFERRED

public static final int EXC_MODE_DEFERRED
See Also:
Constant Field Values

EXC_MODE_IMMEDIATE

public static final int EXC_MODE_IMMEDIATE
See Also:
Constant Field Values

INTERNALDC

public static final java.lang.String INTERNALDC
See Also:
Constant Field Values
Constructor Detail

DCJboDataControl

protected DCJboDataControl()
*** For internal framework use only ***


DCJboDataControl

public DCJboDataControl(java.util.Hashtable context,
                        java.lang.String rootAMDefName,
                        java.lang.Object userData)
Constructs a root DCDataControl object that connects to a BC4J Application Module of the given name.

Parameters:
context - Context to pass on to the BC4J Application Module on creation.
rootAMDefName - Name that identifies the root BC4J Application Module.
userData - Data to store with the DCDataControl object.

DCJboDataControl

public DCJboDataControl(ApplicationModule am)
Constructor used internally by the framework to associate an application module with a JClient application object.


DCJboDataControl

public DCJboDataControl(DCDataControl parent,
                        ApplicationModule am,
                        java.lang.Object userData)
Constructor to be used to create a nested DCDataControl inside another DCDataControl object.


DCJboDataControl

public DCJboDataControl(SessionCookie sessionCookie)
Method Detail

initializeJboSession

protected void initializeJboSession(java.lang.String configPackage,
                                    java.lang.String configName)

initializeJboSession

protected void initializeJboSession(java.lang.String configPackage,
                                    java.lang.String configName,
                                    java.util.Properties poolProps,
                                    java.util.Properties cookieProps)

initializeApplicationModule

protected void initializeApplicationModule(boolean force)
For internal use only. Application developers should not use this
use only

findApplicationPool

protected ApplicationPool findApplicationPool(java.lang.String poolName,
                                              java.lang.String configPackage,
                                              java.lang.String configSection,
                                              java.util.Properties poolProps)

createSessionCookie

protected SessionCookie createSessionCookie(ApplicationPool pool,
                                            java.lang.String appId,
                                            java.lang.String sessionId,
                                            java.util.Properties cookieProps)

getAm

public ApplicationModule getAm()
Returns:
This datacontrol's AM on which AM - methods may be invoked.

getAM

protected final ApplicationModule getAM()
*** For internal framework use only ***

Overrides:
getAM in class DCDataControl

setApplicationModule

protected void setApplicationModule(ApplicationModule am)
*** For internal framework use only ***


initialize

public void initialize()
*** Advanced method *** *** For internal framework use only ***

Creates a connection to the BC4J application module.

Overrides:
initialize in class DCDataControl

createRootApplicationModule

public final void createRootApplicationModule()
*** Advanced method *** *** For internal framework use only ***

If this DCAppication is root, and the root's application module is not created, this method creates a root BC4J Application Module using the root application module def name and the context information (both passed to the constructor of the root DCDataControl).

Throws:
ApplicationModuleCreateException - if the application module is not created, perhaps due to an improper root application module name.
See Also:
ApplicationModule, ApplicationModuleHome.create()

getContext

public final java.util.Hashtable getContext()
Returns the context object with which the root DCApplication was created.


connect

protected void connect()
*** For internal framework use only *** If this application is root, this method invokes the corresponding BC4J Transaction's connect() method to create a database connection. Also this method is used to register the application as a TransactionStateListener on the BC4J Transaction object.

Overrides:
connect in class DCDataControl

getRootAMDefName

public final java.lang.String getRootAMDefName()
Returns root DCDataControl's ApplicationModule definition name.


getDBConnectionURL

public final java.lang.String getDBConnectionURL()
*** For internal framework use only ***


getDBConnectionProps

public final java.util.Properties getDBConnectionProps()
*** For internal framework use only ***


setConnectionInfo

public final void setConnectionInfo(java.lang.String dbConnectionURL,
                                    java.util.Properties dbConnectionProps)
*** For internal framework use only ***


getPackageName

public final java.lang.String getPackageName()
*** For internal framework use only ***


setPackageName

public final void setPackageName(java.lang.String packageName)
*** For internal framework use only ***


getLocaleContext

public final LocaleContext getLocaleContext()
Returns the locale for this Application

Overrides:
getLocaleContext in class DCDataControl

setLocaleContext

public final void setLocaleContext(LocaleContext locale)
Helper method that sets the locale in the current Application Module's session.

Overrides:
setLocaleContext in class DCDataControl

internalGet

protected java.lang.Object internalGet(java.lang.String key)
For EL evaluation. Properties returned vis getter on this control bindings are:
  • transactionDirty - returns getApplicationModule().isTransactionDirty()
  • Overrides:
    internalGet in class DCDataControl

    getApplicationModule

    public final ApplicationModule getApplicationModule()
    Returns the associated oracle.jbo.ApplicationModule object

    Overrides:
    getApplicationModule in class DCDataControl

    getDataProvider

    public java.lang.Object getDataProvider()
    Description copied from interface: DataControl
    Return the Business Service Object that this datacontrol is associated with.

    Specified by:
    getDataProvider in interface DataControl
    Overrides:
    getDataProvider in class DCDataControl
    Returns:
    The underlying business service object.

    initSessionCookie

    protected void initSessionCookie(SessionCookie cookie)
    *** For internal framework use only ***


    release

    public void release()
    Use this method to release connection to an Application Module

    Specified by:
    release in interface DataControl
    Overrides:
    release in class DCDataControl

    getRowSetIterator

    protected RowSetIterator getRowSetIterator(java.lang.String masterName)
    Description copied from class: DCDataControl
    Given the name of an RSI, find if it's already created and cached on the datacontrol

    Specified by:
    getRowSetIterator in class DCDataControl

    getAccessorValue

    protected java.lang.Object getAccessorValue(RowSetIterator masterRSI,
                                                Row row,
                                                DCIteratorBinding iter,
                                                java.lang.String accName)
    Specified by:
    getAccessorValue in class DCDataControl

    internalGetBeanDataControl

    protected DCBeanDataControl internalGetBeanDataControl()

    createAccessorRowSetIterator

    protected RowSetIterator createAccessorRowSetIterator(RowSetIterator masterRSI,
                                                          Row row,
                                                          DCIteratorBinding iter,
                                                          java.lang.String accName,
                                                          java.lang.String beanClass,
                                                          boolean trackMaster)
    Overrides:
    createAccessorRowSetIterator in class DCDataControl

    createAccessorRowSetIteratorForMasterRow

    protected RowSetIterator createAccessorRowSetIteratorForMasterRow(DCIteratorBinding iter,
                                                                      RowSetIterator masterRSI,
                                                                      Row row,
                                                                      java.lang.Object result,
                                                                      java.lang.String accName,
                                                                      java.lang.String beanClass,
                                                                      boolean trackMaster)
    Overrides:
    createAccessorRowSetIteratorForMasterRow in class DCDataControl

    createAccessorRowSetIterator

    public RowSetIterator createAccessorRowSetIterator(RowSetIterator masterRSI,
                                                       DCIteratorBinding iter,
                                                       java.lang.String accName,
                                                       java.lang.String beanClass)
    Description copied from class: DCDataControl
    creates a accessor RSI using the current or the first row of the masterRSI and calling the get<accName> method on it to get the RSI dataprovider.

    Overrides:
    createAccessorRowSetIterator in class DCDataControl

    findOrCreateViewObjectForCriteria

    protected RowSetIterator findOrCreateViewObjectForCriteria(DCIteratorBinding iter,
                                                               ViewCriteria vc,
                                                               RowSetIterator master,
                                                               java.lang.String accName)
    Specified by:
    findOrCreateViewObjectForCriteria in class DCDataControl

    findOrCreateViewObjectForCriteriaItem

    protected RowSetIterator findOrCreateViewObjectForCriteriaItem(DCIteratorBinding iter,
                                                                   ViewCriteriaItem vc,
                                                                   RowSetIterator master)
    Specified by:
    findOrCreateViewObjectForCriteriaItem in class DCDataControl

    findOrCreateDetailViewObjectForCriteria

    protected RowSetIterator findOrCreateDetailViewObjectForCriteria(RowSetIterator master,
                                                                     Row masterRow,
                                                                     java.lang.String accName)

    findOrCreateMethodRowSetIterator

    public RowSetIterator findOrCreateMethodRowSetIterator(DCIteratorBinding iter,
                                                           java.lang.String beanClass,
                                                           java.lang.Object result)
    Overrides:
    findOrCreateMethodRowSetIterator in class DCDataControl

    createRowSetIteratorImpl

    protected RowSetIterator createRowSetIteratorImpl(java.lang.String defName,
                                                      java.lang.Object sourceObj,
                                                      RowSetIterator master)
    Description copied from class: DCDataControl
    Create a DCRowSetIteratorImpl or a subclass thereof for the give defName element types, using the given source collection/object and optionally the master RSI if there is a dependency defined on the master.

    Specified by:
    createRowSetIteratorImpl in class DCDataControl

    executeIteratorBinding

    protected void executeIteratorBinding(DCIteratorBinding iterBinding)
    Description copied from class: DCDataControl
    Implies forced execute of the collection that this iterator binding is bound to. Incase of database based collections, ideally, this should 're-execute' the database query. This method is invoked via the Execute control binding action.

    Specified by:
    executeIteratorBinding in class DCDataControl

    executeIteratorBindingIfNeeded

    protected void executeIteratorBindingIfNeeded(DCIteratorBinding iterBinding)
    Description copied from class: DCDataControl
    This method is invoked when a bindingcontainer is 'refreshing' itself before it's data is displayed. Only execute the collections bound to this iterator if they're not executed yet. Incase of method-result bound collections, this method may refresh the collection references in the associated RSIs.

    Specified by:
    executeIteratorBindingIfNeeded in class DCDataControl

    getKeyAttributeDefs

    public AttributeDef[] getKeyAttributeDefs(DCIteratorBinding dataIter)
    Specified by:
    getKeyAttributeDefs in class DCDataControl
    For internal use only. Application developers should not use this

    setCurrentRowWithKeyValue

    public void setCurrentRowWithKeyValue(DCIteratorBinding iter,
                                          java.lang.String stringValue)
    Description copied from class: DCDataControl
    This method works for Collections with only one Key attribute and not for multi-part attribute keys.

    Converts the stringValue into a Row key (using collection's key metadata) and then calls findByKey on the RowSetIterator to find the row matching this key. If a row is found, that row is set as current.

    Specified by:
    setCurrentRowWithKeyValue in class DCDataControl

    setCurrentRowWithKey

    public void setCurrentRowWithKey(DCIteratorBinding iter,
                                     java.lang.String stringKey)
    Description copied from class: DCDataControl
    Converts the serialized stringKey into a Row key object (using collection's key metadata) and then calls findByKey on the RowSetIterator to find the row matching this key. If a row is found, that row is set as current.

    Specified by:
    setCurrentRowWithKey in class DCDataControl

    setCurrentRowWithKey

    public void setCurrentRowWithKey(DCIteratorBinding iter,
                                     Key keyObj)
    Description copied from class: DCDataControl
    Use the given key to set the current row in the RowSetIterator for the given iteratorbinding.

    Specified by:
    setCurrentRowWithKey in class DCDataControl

    getDeferredEstimatedRowCount

    protected long getDeferredEstimatedRowCount(DCIteratorBinding iter)
    Overrides:
    getDeferredEstimatedRowCount in class DCDataControl

    getEstimatedRowCount

    protected long getEstimatedRowCount(DCIteratorBinding iter)
    Description copied from class: DCDataControl
    Implement estimated row count logic in this method and return the row count for a collection bound to this iterator.

    Specified by:
    getEstimatedRowCount in class DCDataControl

    isTransactionDirty

    public boolean isTransactionDirty()
    Description copied from class: DCDataControl
    Returns true if this transaction has been dirtied by this application.

    Specified by:
    isTransactionDirty in class DCDataControl
    javabean.property
    Returns true if the Transaction for this DataControl's ApplicationModule is marked dirty.

    commitTransaction

    public void commitTransaction()
    Description copied from class: DCDataControl
    Invokes the BC4J transaction's commit() method to save all changes to the database.

    Overrides:
    commitTransaction in class DCDataControl

    validate

    public void validate()
    Description copied from class: DCDataControl
    Called when datacontrol changes needs to be validated after updates have been processed for a page.

    Overrides:
    validate in class DCDataControl

    rollbackTransaction

    public void rollbackTransaction()
    Description copied from class: DCDataControl
    Helper method that invokes rollback on the current Transaction.

    Overrides:
    rollbackTransaction in class DCDataControl

    isOperationSupported

    public boolean isOperationSupported(DCIteratorBinding iterBinding,
                                        byte oper)
    Returns true for find, create, remove operations. Returns false for CTRL_BINDING_VALIDATION if BC4J is deployed in local mode as that'd avoid dupliate validation in setters.

    Overrides:
    isOperationSupported in class DCDataControl

    isClientTier

    public boolean isClientTier()
    Returns true if this data-control's Application module is deployed in three-tier mode

    Overrides:
    isClientTier in class DCDataControl

    syncNeeded

    public boolean syncNeeded()
    Description copied from class: DCDataControl
    Primarily used in ADFBC which returns true, if it is deployed in batchmode.

    Overrides:
    syncNeeded in class DCDataControl

    syncIfNeeded

    public void syncIfNeeded(java.lang.String syncFromDiagnostic)
    Description copied from class: DCDataControl
    Incase syncNeeded, then use this event to synchronize data from remote tier in batch. This event differs from sync() in that this event synchronizes only if some client operation has marked that a visit to middle tier is necessary. sync() will visit middle tier regardless.

    Overrides:
    syncIfNeeded in class DCDataControl

    sync

    public void sync(java.lang.String syncFromDiagnostic)
    Description copied from class: DCDataControl
    Incase syncNeeded, then use this event to synchronize data from remote tier in batch.

    Overrides:
    sync in class DCDataControl

    setClientApp

    public void setClientApp(byte clientType)
    Incase of non-JClient, set the transaction to deferred exception mode by default

    Overrides:
    setClientApp in class DCDataControl

    setPartialUpdate

    public void setPartialUpdate(boolean flag)
    Description copied from class: DCDataControl
    Tell DC that this binding is being updated during partial update, so that it doesn't cache any exceptions for this udpate and simply throws them back. Expected usage is in subclassed setInputValueInRow, view layer's binding can turn the DC's partialUpdate flag to on, perform the update and then turn it off.

    Overrides:
    setPartialUpdate in class DCDataControl

    setBundledExceptionMode

    public void setBundledExceptionMode(int mode)

    setValidationInBinding

    public void setValidationInBinding(int flag)
    *** For internal framework use only ***


    getValidationInBinding

    public int getValidationInBinding()
    *** For internal framework use only ***


    prepareSession

    public void prepareSession()

    beginRequest

    public void beginRequest(java.util.HashMap requestCtx)
    Description copied from class: DCDataControl
    Invoked in some contexts to signal the beginning of a model request. For example, if the DataControl is referenced in a web application then this method will be invoked by the ADF framework before control is forwarded to the first Servlet defined by the request.

    Subclassing datacontrols may extend this method to perform request level initialization of the DataControl.

    This method is guaranteed to be called only once per browser request. Page forwards should not result in multiple invocations.

    Specified by:
    beginRequest in interface ManagedDataControl
    Overrides:
    beginRequest in class DCDataControl
    Parameters:
    requestCtx - a HashMap representing request context. Web applications which require request context may use the BindingContext.HTTP_REQUEST and BindingContext.HTTP_RESPONSE keys to acquire a reference from from the BindingContext.

    endRequest

    public void endRequest(java.util.HashMap requestCtx)
    Description copied from class: DCDataControl
    Invoked in some contexts to signal the end of a model request. For example, if the DataControl is referenced in a web application then this method will be invoked by the ADF framework after control is returned from the last Servlet defined by the request page flow.

    Subclassing datacontrols may extend this method to perform request level cleanup of the DataControl.

    This method is guaranteed to be called only once per browser request. Page forwards should not result in multiple invocations.

    Specified by:
    endRequest in interface ManagedDataControl
    Overrides:
    endRequest in class DCDataControl
    Parameters:
    requestCtx - a HashMap representing request context. Web applications which require request context may use the BindingContext.HTTP_REQUEST and BindingContext.HTTP_RESPONSE keys to acquire a reference from from the BindingContext.

    resetState

    public boolean resetState()
    Description copied from class: DCDataControl
    Resets the DataControl. DataControl providers should extend this method to reset any model session state that may have been managed by this DataControl. For example:

    The ADF/BC DataControl has extended resetState to release the DataControl ApplicationModule to the ApplicationPool in unmanaged release mode.

    An EJB DataControl provider may extend resetState to close the DataControl EJB SessionBean

    The Toplink DataControl provider extends resetState to reset the DataControl's UnitOfWork and associated RowSetIterators.

    Please note that resetState may not occur immediately. If beginRequest has been invoked on the DataControl then resetState processing will be deferred until endRequest processing.

    Extending DataControl providers may optionally invoke release(REL_DATA_REFS) after performing and DataControl specific resetState handling.

    Specified by:
    resetState in interface ManagedDataControl
    Overrides:
    resetState in class DCDataControl
    Returns:
    true if resetState was processed immediately. false if resetState was deferred to endRequest processing.

    getListBindingDef

    public ListBindingDef getListBindingDef(DCIteratorBinding iter,
                                            Key rowKey,
                                            java.lang.String name)
    Specified by:
    getListBindingDef in class DCDataControl

    getListBindingName

    public java.lang.String getListBindingName(DCIteratorBinding iter,
                                               Key rowKey,
                                               java.lang.String attrName,
                                               java.lang.String name)
    Specified by:
    getListBindingName in class DCDataControl

    getListBindingRSI

    public RowSetIterator getListBindingRSI(DCIteratorBinding iter,
                                            Key rowKey,
                                            java.lang.String attrName,
                                            java.lang.String name)
    Deprecated. since 11.1.1.0.0

    Specified by:
    getListBindingRSI in class DCDataControl

    getPreferredListRSI

    public RowSetIterator getPreferredListRSI(DCIteratorBinding iter,
                                              Key rowKey,
                                              java.lang.String attrName,
                                              java.lang.String name)
    Specified by:
    getPreferredListRSI in class DCDataControl

    findCustomViewObject

    public ViewObject findCustomViewObject(java.lang.String name,
                                           java.lang.String interfaceName)

    setDataProvider

    protected void setDataProvider(java.lang.Object provider)
    Overrides:
    setDataProvider in class DCDataControl

    getAttributeDefs

    public AttributeDef[] getAttributeDefs(DCIteratorBinding iterBinding,
                                           java.lang.String[] attrNames)
    Description copied from class: DCDataControl
    Return attribute definition for the given iterator binding and for the given set of attributes from the elements-definition of the mapped collection.

    Overrides:
    getAttributeDefs in class DCDataControl

    setSessionCookie

    public void setSessionCookie(SessionCookie sessionCookie)

    applySortCriteria

    protected void applySortCriteria(DCIteratorBinding iter,
                                     SortCriteria[] sortBy)
    Sets the sort critiera that will be applied next time when the source for this iteratorBinding is executed.

    Specified by:
    applySortCriteria in class DCDataControl

    getSortCriteria

    protected SortCriteria[] getSortCriteria(DCIteratorBinding iter)
    Returns an ordered array of SortCriteria that will be applied when the source for this iteratorBinding is executed.

    Specified by:
    getSortCriteria in class DCDataControl

    createRowData

    public java.lang.Object createRowData(DCRowContext ctx)
    Description copied from class: DCDataControl
    Create a new row for the iterator associated with the given iterator-binding at the given index and return the new row.

    Overrides:
    createRowData in class DCDataControl

    removeRowData

    public boolean removeRowData(DCRowContext ctx)
    Description copied from class: DCDataControl
    This method is to remove the row object (the obj parameter) from the underlying data source.

    Overrides:
    removeRowData in class DCDataControl
    Parameters:
    ctx - the row context to be removed.
    Returns:
    true if the operation was successful. false otherwise.

    modifyTransactionStateForAttributeSet

    protected boolean modifyTransactionStateForAttributeSet(DCIteratorBinding iterBind,
                                                            Row row,
                                                            AttributeDef ad)
    Overrides:
    modifyTransactionStateForAttributeSet in class DCDataControl

    setAttributeInRow

    public void setAttributeInRow(DCIteratorBinding iterBind,
                                  Row row,
                                  AttributeDef ad,
                                  java.lang.Object value)
    Overrides:
    setAttributeInRow in class DCDataControl
    For internal use only. Application developers should not use this
    *** For internal framework use only *** Called primarily for find mode to allow findmode to save out row changes incase of batchmode.

    createViewCriteria

    public ViewCriteria createViewCriteria(DCIteratorBinding iter)
    Description copied from class: DCDataControl
    Internal: Applications should not use this method. Create a new viewCriteria associated with the given iterator binding's collection.

    Overrides:
    createViewCriteria in class DCDataControl

    getViewCriteria

    public ViewCriteria getViewCriteria(DCIteratorBinding iter)
    Description copied from class: DCDataControl
    Internal: Applications should not use this method. Return viewCriteria associated with the given iterator binding's collection.

    Overrides:
    getViewCriteria in class DCDataControl

    applyViewCriteria

    public void applyViewCriteria(ViewCriteria vc,
                                  DCIteratorBinding iter,
                                  RowSetIterator rsi)
    Description copied from class: DCDataControl
    Internal: Applications should not use this method.

    Specified by:
    applyViewCriteria in class DCDataControl

    internalSetTransactionStateChanged

    protected void internalSetTransactionStateChanged(boolean state)
    Overrides:
    internalSetTransactionStateChanged in class DCDataControl

    isBoundRowIteratorEvent

    protected boolean isBoundRowIteratorEvent(DCIteratorBinding iter,
                                              JboEvent ev)
    Overrides:
    isBoundRowIteratorEvent in class DCDataControl

    getReleaseLevel

    public int getReleaseLevel()
    See Also:
    ApplicationModule.getReleaseLevel()

    setReleaseLevel

    public void setReleaseLevel(int releaseLevel)
    See Also:
    ApplicationModule.setReleaseLevel(int)

    executeIteratorBindingWithParams

    public void executeIteratorBindingWithParams(DCIteratorBinding iter,
                                                 OperationParameter[] params,
                                                 java.lang.Object[] paramVals)
    Overrides:
    executeIteratorBindingWithParams in class DCDataControl
    For internal use only. Application developers should not use this
    *** For internal framework use only ***

    hasKeyAttributes

    protected boolean hasKeyAttributes(DCIteratorBinding iter)
    Overrides:
    hasKeyAttributes in class DCDataControl

    addDataChangeListener

    public void addDataChangeListener(java.lang.Object dataObj,
                                      DataChangeListener dcl)
    Subclasses may choose to implement datachangemanager

    Specified by:
    addDataChangeListener in class DCDataControl

    removeDataChangeListener

    public void removeDataChangeListener(java.lang.Object dataObj,
                                         DataChangeListener dcl)
    Subclasses may choose to implement datachangemanager

    Specified by:
    removeDataChangeListener in class DCDataControl

    startEvents

    public int startEvents(int fromId)
    Subclasses may choose to implement datachangemanager returns fromId as is.

    Specified by:
    startEvents in class DCDataControl

    stopEvents

    public void stopEvents()
    Overrides:
    stopEvents in class DCDataControl

    isPinnedForDCE

    protected boolean isPinnedForDCE()

    getLastEventId

    public int getLastEventId()
    Subclasses may choose to implement datachangemanager returns -1;

    Specified by:
    getLastEventId in class DCDataControl

    getDefinition

    public Definition getDefinition(java.lang.String defFullName,
                                    int defType)
    Overrides:
    getDefinition in class DCDataControl

    invokeMethod

    protected java.lang.Object invokeMethod(DCInvokeMethod method,
                                            OperationBinding action,
                                            java.util.Map paramsMap)
    Description copied from class: DCDataControl
    Override this method if a datacontrol wants to implement custom invocation of a method and avoid introspection and invoke method call using reflection. ADF calls this method to invoke a methods bound via custom method-action binding.

    Overrides:
    invokeMethod in class DCDataControl

    findVariable

    protected Variable findVariable(java.lang.String path)
    Overrides:
    findVariable in class DCDataControl

    clearIteratorBinding

    protected void clearIteratorBinding(DCIteratorBinding iter)
    Specified by:
    clearIteratorBinding in class DCDataControl

    resetAttributeExceptionInRow

    protected void resetAttributeExceptionInRow(DCIteratorBinding iter,
                                                Row row,
                                                AttributeDef def,
                                                AttrValException ave)
    Reset any deferred exception in the row for the given attribute, for which the AttrValException was raised. This method should be called after the attribute exception has been cached on the binding or handled by the user/view.

    Overrides:
    resetAttributeExceptionInRow in class DCDataControl

    createSnapshot

    public java.io.Serializable createSnapshot()
    Description copied from interface: ManagedDataControl
    Creates a snapshot of the state of the DataControl. A snapshot may be used to save the DataControl state so that it may be restored some time later. Returns a serializable handle to the snapshot.

    Overrides:
    createSnapshot in class DCDataControl
    Returns:
    a snapshot handle

    restoreSnapshot

    public void restoreSnapshot(java.io.Serializable handle)
    Description copied from interface: ManagedDataControl
    Restore the state of the DataControl with the snapshot state that is referenced by the handle.

    Overrides:
    restoreSnapshot in class DCDataControl
    Parameters:
    handle - Serializable a snaphsot handle that was created with ManagedDataControl.createSnapshot().

    removeSnapshot

    public void removeSnapshot(java.io.Serializable handle)
    Description copied from interface: ManagedDataControl
    Removes the snapshot associated with the snapshot handle.

    Overrides:
    removeSnapshot in class DCDataControl
    Parameters:
    handle - Serializable a snapshot handle that was created with ManagedDataControl.createSnapshot().

    createSavepoint

    public java.lang.Object createSavepoint()
    Overrides:
    createSavepoint in class DCDataControl

    restoreSavepoint

    public void restoreSavepoint(java.lang.Object handle)
    Overrides:
    restoreSavepoint in class DCDataControl

    setPinned

    protected void setPinned(boolean flag)
    Description copied from class: DCDataControl
    Advanced for ADS usage only

    Overrides:
    setPinned in class DCDataControl

    processChangeNotifications

    public void processChangeNotifications()
    Description copied from class: DCDataControl
    During the render phase of the datacontrol lifecycle the pending notifications for auto refreshing data may be processed.

    Overrides:
    processChangeNotifications in class DCDataControl

    beforeReportException

    protected void beforeReportException(DCBindingContainer formBnd,
                                         java.lang.Exception ex)
    Overrides:
    beforeReportException in class DCDataControl
    For internal use only. Application developers should not use this
    Internal framework use only.

    Oracle Fusion Middleware Java API Reference for Oracle ADF Model
    11g Release 1 (11.1.1.4.0)

    E10653-05

    Copyright © 1997, 2011, Oracle. All rights reserved.