Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 2 (11.1.2.1.0)

E17483-02

oracle.adf.model.bean
Class DCBeanDataControl

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
                  extended by oracle.adf.model.bean.DCBeanDataControl
All Implemented Interfaces:
java.util.EventListener, java.util.Map, DataControl, ManagedDataControl, TransactionStateListener
Direct Known Subclasses:
AdapterDCService

public class DCBeanDataControl
extends DCJboDataControl


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 java.lang.String DC_ROOT_ACC_NAME
           
protected  StructureDefImpl mDef
           
protected  java.util.Map<java.lang.String,java.lang.String> mRSIs
           
static int VD_KIND_CRITERIA
           
 
Fields inherited from class oracle.adf.model.bc4j.DCJboDataControl
EXC_MODE_DEFAULT, EXC_MODE_DEFERRED, EXC_MODE_IMMEDIATE, INTERNALDC, PROP_VCIVAL_SUBST_ATTRDEF, VAL_MODE_ALWAYS, VAL_MODE_NEVER, VAL_MODE_REMOTE, 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 DCBeanDataControl()
           
  DCBeanDataControl(DCJboDataControl owningDC)
          for internal use only.
protected DCBeanDataControl(java.lang.String name)
          Subclasses calling this constructor should then override and call initDCProperties method as well to initialize the datacontrol properties.
  DCBeanDataControl(java.lang.String name, java.lang.String beanClass, java.lang.Object beanInstance, boolean root)
           
  DCBeanDataControl(java.lang.String name, StructureDefImpl def, java.lang.Object beanInstance)
           
 
Method Summary
 RowSetIterator adaptCriteria(DCIteratorBinding iter, ViewCriteria vc, DCDataVO master, java.lang.String accName)
           
protected  void addDataChangeListener(DCIteratorBinding iter)
          subclasses to override and add iteratorbinding as a DataChangeListener on the appropriate collection.
 void addDataChangeListener(java.lang.Object dataObj, DataChangeListener dcl)
          DataChangeManager impl.
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.
 void beginRequest(java.util.HashMap map)
          Invoked in some contexts to signal the beginning of a model request.
protected  void clearIteratorBinding(DCIteratorBinding iter)
           
protected  void closeRowSetIterators(boolean recurseDetailRSIs, boolean criteriasOnly)
           
protected  void closeRowSetIteratorsAndStructures(boolean recurseDetailRSIs, boolean criteriasOnly, boolean releaseStructures)
           
 void commitTransaction()
          Invokes the BC4J transaction's commit() method to save all changes to the database.
protected  RowSetIterator createAccessorRowSetIteratorForMasterRow(DCIteratorBinding iter, RowSetIterator masterRSI, Row row, java.lang.Object result, java.lang.String accName, java.lang.String beanClass, boolean trackMaster)
           
 ViewObject createDomainViewObject(StructureDef def, java.lang.String vdefName, RowSetIterator masterRSI, Row masterRow, java.lang.String accName)
           
protected  java.lang.Object createRowData(DCRowContext ctx)
           
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.
protected  ViewDefImpl createViewDef(java.lang.String strDefFullName, java.lang.String vdName, StructureDef sd, AttributeDef[] fkAttrs, int vdKind)
          Allow overriding of ViewDef
 void endRequest(java.util.HashMap map)
          Invoked in some contexts to signal the end of a model request.
protected  void executeIteratorBinding(DCIteratorBinding iter)
          Clears the dataProvider iterator cached on the RowSet bound to given iterator binding, so that the method accessor is invoked again to fetch a fresh dataProvider for the association RowSet.
protected  void executeIteratorBindingIfNeeded(DCIteratorBinding iter)
          This method is invoked when a bindingcontainer is 'refreshing' itself before it's data is displayed.
protected  void executeMethodIterators()
           
protected  java.lang.Object fetchProviderProperty(java.lang.String propName)
          For use in AdapterDCService
protected  RowSetIterator fetchRowSetIterator(java.lang.String path)
           
protected  ApplicationPool findApplicationPool(java.lang.String poolName, java.lang.String configPackage, java.lang.String configSection, java.util.Properties poolProps)
           
 RowSetIterator findOrCreateAccessorRowSetIterator(DCIteratorBinding masterIter, DCIteratorBinding iter, java.lang.String accName, java.lang.String beanClass)
           
 RowSetIterator findOrCreateAccessorRowSetIterator(RowSetIterator masterRSI, DCIteratorBinding iter, java.lang.String accName, java.lang.String beanClass)
          Use findOrCreateAccessorRowSetIterator(DCIteratorBinding masterIter....) instead.
 RowSetIterator findOrCreateMethodRowSetIterator(DCIteratorBinding iter, java.lang.String beanClass, java.lang.Object result)
           
 StructureDefImpl findStructureDef(java.lang.String beanClass)
           
protected  StructureDefImpl[] getAccessorDefs(StructureDefImpl def)
          Invoked for dynamic DataControls.
protected  java.lang.Object getAccessorValue(RowSetIterator masterRSI, Row row, DCIteratorBinding iter, java.lang.String accName)
           
 DataControl getAdaptedDC()
          In case of adapter datacontrols, this returns the adapter datacontrol instance and null in all other cases.
 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.
protected  AttributeDefImpl[] getAttributeDefs(StructureDefImpl def)
          Invoked for dynamic DataControls.
 java.lang.Object getDataProvider()
          Return the Business Service Object that this datacontrol is associated with.
 Definition getDefinition(java.lang.String name, int type)
          Internal use only.
 java.util.ArrayList getEventDefinitions(java.lang.String methodAccName, java.lang.String[] argTypes)
          Returns an arraylist of EventDefinitions defined in the structure definition of this DataControl
protected  java.lang.String getIteratorStructureDefName(DCIteratorBinding iter)
          return structuredef beanclass name for this iterator binding.
 int getLastEventId()
          Subclasses may choose to implement datachangemanager returns -1;
 ListBindingDef getListBindingDef(DCIteratorBinding iter, Key rowKey, java.lang.String name)
           
protected  RowSetIterator getRowSetIterator(java.lang.String sourceName)
          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.
protected  java.lang.String[] getSubstitutedDefNames(DCIteratorBinding iter)
           
 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)
           
protected  void initDCProperties(java.lang.String name, BindingContext ctx, java.util.Map dcDefAsParams, java.lang.String beanClass, java.lang.Object beanInstance)
          this may get called twice - once from constructor (optionally) and once from factory.
protected  void initializeBindingContainer(DCBindingContainerDef formDef, DCBindingContainer formBnd, boolean initialize)
           
protected  void initializeRSIs()
          Internal use only.
protected  DCBeanDataControl internalGetBeanDataControl()
           
protected  java.lang.Object invokeAccessor(DCRowContext rc, java.lang.String accName, ViewObject vo)
           
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.
 boolean invokeOperation(java.util.Map map, OperationBinding action)
          All OperationBindings should first delegate to the DataControl associated with the binding to perform the action.
 boolean isAttributeSortable(DCIteratorBinding iter, AttributeDef ad)
          Subclasses need to implement sorting and turn this flag on if the given attribute is sortable for a given iterator.
 boolean isDataChangeManager()
           
protected  boolean isImplementRowMatch()
           
 boolean isOperationSupported(DCIteratorBinding iterBinding, byte oper)
          Returns false for execute, create, remove and find Operations
 boolean isTransactionDirty()
          Returns true if this transaction has been dirtied by this application.
 void release()
          To be called only from frame release.
protected  void removeDataChangeListener(DCIteratorBinding iter)
          subclasses to override and remove iteratorbinding as a DataChangeListener on the appropriate collection.
 void removeDataChangeListener(java.lang.Object dataObj, DataChangeListener dcl)
          Subclasses may choose to implement datachangemanager
 boolean removeRowData(DCRowContext context)
           
 void removeSnapshot(java.io.Serializable handle)
          Removes the snapshot associated with the snapshot handle.
 boolean resetState()
          Resets the DataControl.
protected  void restoreRSIs()
           
 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.
 void setAttributeInRow(DCIteratorBinding iterBind, Row row, AttributeDef ad, java.lang.Object value)
           
 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 obj)
           
protected  void setImplementRowMatch(boolean fl)
           
protected  void setPinned(boolean flag)
          Advanced for ADS usage only
protected  void setReleaseAdaptedDCs(boolean flag)
           
 int startEvents(int fromId)
          Subclasses may choose to implement datachangemanager returns fromId as is.
 void stopEvents()
           
 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.bc4j.DCJboDataControl
beforeReportException, connect, createAccessorRowSetIterator, createAccessorRowSetIterator, createRootApplicationModule, createRowData, executeIteratorBindingWithParams, findCustomViewObject, findOrCreateDefaultViewCriteria, findOrCreateViewObjectForCriteria, findVariable, getAm, getAM, getApplicationModule, getContext, getDBConnectionProps, getDBConnectionURL, getDeferredEstimatedRowCount, getEstimatedRowCount, getKeyAttributeDefs, getListBindingName, getListBindingRSI, getLocaleContext, getPackageName, getPreferredListRSI, getReleaseLevel, getRootAMDefName, getValidationInBinding, initialize, initializeApplicationModule, initializeJboSession, initializeJboSession, initSessionCookie, internalGet, internalSetTransactionStateChanged, isBoundRowIteratorEvent, isClientTier, isPinnedForDCE, modifyTransactionStateForAttributeSet, prepareSession, processChangeNotifications, removeRowData, resetAttributeExceptionInRow, setApplicationModule, setBundledExceptionMode, setClientApp, setConnectionInfo, setLocaleContext, setPackageName, setPartialUpdate, setReleaseLevel, setSessionCookie, setValidationInBinding, sync, syncIfNeeded, syncNeeded
 
Methods inherited from class oracle.adf.model.binding.DCDataControl
_internal_dbg_debug_data, addBindingContainer, addBindingContainer, addBindingContainer, addBindingContainerRef, addBindingWithExc, addOrCreateBindingContainer, addStatusBarInterface, addTransactionStateListener, afterReportException, cacheMethodResult, callCommitTransaction, cleanup, createAccessorRowSetIterator, createBindingContainer, createBindingContainerInstance, createRowSetIteratorImpl, discardIfDefinitionChanged, displayStatus, displayStatus, doneCommit, doneRollback, findBindingContainer, findOrCreateRowSetIteratorImpl, focusGained, get, getAppDefName, getBindingContext, getCurrentErrorHandler, getDataControlFrameName, getDef, getErrorHandlerActive, getMethodResults, getMethodResultUseCount, getName, getParent, getRootDataControl, getSecurityContext, getSessionContext, getSessionContextManager, getSyncLock, getUnresolvedBindingContainer, getUserData, hasBindingsWithExc, hasDefinitionChanged, hasOperationParamsChanged, hasPermission, hasPermission, hasPermission, initializeContainerFromDef, initializeFromMetadata, initIteratorDataControl, internalCacheMethodResults, internalGetCurrentRow, internalGetDataControlFrame, internalGetIterBindingViewObject, internalPut, invalidateMethodResult, invokeMethod, isJClientApp, isReleasing, isRoot, isTransactionModified, markAccessorIterListenerForFKMerge, rebuildIteratorIfNeeded, registerDataProvider, release, releaseAll, releaseBindings, releaseData, releaseFromDCFrame, releaseMethodResults, removeBindingContainer, removeBindingWithExc, 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

mRSIs

protected java.util.Map<java.lang.String,java.lang.String> mRSIs

mDef

protected StructureDefImpl mDef

DC_ROOT_ACC_NAME

public static final java.lang.String DC_ROOT_ACC_NAME
See Also:
Constant Field Values

VD_KIND_CRITERIA

public static final int VD_KIND_CRITERIA
See Also:
Constant Field Values
Constructor Detail

DCBeanDataControl

protected DCBeanDataControl()

DCBeanDataControl

protected DCBeanDataControl(java.lang.String name)
Subclasses calling this constructor should then override and call initDCProperties method as well to initialize the datacontrol properties.


DCBeanDataControl

public DCBeanDataControl(java.lang.String name,
                         java.lang.String beanClass,
                         java.lang.Object beanInstance,
                         boolean root)

DCBeanDataControl

public DCBeanDataControl(java.lang.String name,
                         StructureDefImpl def,
                         java.lang.Object beanInstance)

DCBeanDataControl

public DCBeanDataControl(DCJboDataControl owningDC)
for internal use only.

Method Detail

initDCProperties

protected void initDCProperties(java.lang.String name,
                                BindingContext ctx,
                                java.util.Map dcDefAsParams,
                                java.lang.String beanClass,
                                java.lang.Object beanInstance)
this may get called twice - once from constructor (optionally) and once from factory.


setDataProvider

protected void setDataProvider(java.lang.Object obj)
Overrides:
setDataProvider in class DCJboDataControl

setReleaseAdaptedDCs

protected void setReleaseAdaptedDCs(boolean flag)

release

public void release()
To be called only from frame release.

Specified by:
release in interface DataControl
Overrides:
release in class DCJboDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

getSubstitutedDefNames

protected java.lang.String[] getSubstitutedDefNames(DCIteratorBinding iter)
Overrides:
getSubstitutedDefNames 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 DCJboDataControl
Returns:
The underlying business service object.

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 DCJboDataControl

isImplementRowMatch

protected boolean isImplementRowMatch()

setImplementRowMatch

protected void setImplementRowMatch(boolean fl)

invokeAccessor

protected java.lang.Object invokeAccessor(DCRowContext rc,
                                          java.lang.String accName,
                                          ViewObject vo)

invokeOperation

public boolean invokeOperation(java.util.Map map,
                               OperationBinding action)
Description copied from interface: DataControl
All OperationBindings should first delegate to the DataControl associated with the binding to perform the action. DataControls may choose to interpret a given action differently based on the data/collection that action is bound to.

Specified by:
invokeOperation in interface DataControl
Overrides:
invokeOperation in class DCDataControl
Returns:
true if this datacontrol has handled this action, false if the action should be interpreted in the bindings framework or in the caller.

isTransactionDirty

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

Overrides:
isTransactionDirty in class DCJboDataControl

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 DCJboDataControl

rollbackTransaction

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

Overrides:
rollbackTransaction in class DCJboDataControl

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 DCJboDataControl
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 DCJboDataControl
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 DCJboDataControl
Parameters:
handle - Serializable a snapshot handle that was created with ManagedDataControl.createSnapshot().

createSavepoint

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

restoreSavepoint

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

removeRowData

public boolean removeRowData(DCRowContext context)

createRowData

protected java.lang.Object createRowData(DCRowContext ctx)

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 DCJboDataControl

beginRequest

public void beginRequest(java.util.HashMap map)
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 DCJboDataControl
Parameters:
map - 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 map)
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 DCJboDataControl
Parameters:
map - 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 DCJboDataControl
Returns:
true if resetState was processed immediately. false if resetState was deferred to endRequest processing.

getDefinition

public Definition getDefinition(java.lang.String name,
                                int type)
Internal use only. Application developers should not use this method.

Overrides:
getDefinition in class DCJboDataControl

initializeRSIs

protected void initializeRSIs()
Internal use only. Application developers should not extend.


initializeBindingContainer

protected void initializeBindingContainer(DCBindingContainerDef formDef,
                                          DCBindingContainer formBnd,
                                          boolean initialize)
Overrides:
initializeBindingContainer in class DCDataControl

executeIteratorBinding

protected void executeIteratorBinding(DCIteratorBinding iter)
Clears the dataProvider iterator cached on the RowSet bound to given iterator binding, so that the method accessor is invoked again to fetch a fresh dataProvider for the association RowSet.

Overrides:
executeIteratorBinding in class DCJboDataControl

executeIteratorBindingIfNeeded

protected void executeIteratorBindingIfNeeded(DCIteratorBinding iter)
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.

Overrides:
executeIteratorBindingIfNeeded in class DCJboDataControl

getRowSetIterator

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

Overrides:
getRowSetIterator in class DCJboDataControl

fetchProviderProperty

protected java.lang.Object fetchProviderProperty(java.lang.String propName)
For use in AdapterDCService


fetchRowSetIterator

protected RowSetIterator fetchRowSetIterator(java.lang.String path)

closeRowSetIterators

protected void closeRowSetIterators(boolean recurseDetailRSIs,
                                    boolean criteriasOnly)
For internal use only. Application developers should not use this
*** For internal framework use only ***

closeRowSetIteratorsAndStructures

protected void closeRowSetIteratorsAndStructures(boolean recurseDetailRSIs,
                                                 boolean criteriasOnly,
                                                 boolean releaseStructures)
For internal use only. Application developers should not use this
*** For internal framework use only ***

getAccessorValue

protected java.lang.Object getAccessorValue(RowSetIterator masterRSI,
                                            Row row,
                                            DCIteratorBinding iter,
                                            java.lang.String accName)
Overrides:
getAccessorValue in class DCJboDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

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 DCJboDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

createDomainViewObject

public ViewObject createDomainViewObject(StructureDef def,
                                         java.lang.String vdefName,
                                         RowSetIterator masterRSI,
                                         Row masterRow,
                                         java.lang.String accName)
For internal use only. Application developers should not use this
*** For internal framework use only ***

findOrCreateMethodRowSetIterator

public RowSetIterator findOrCreateMethodRowSetIterator(DCIteratorBinding iter,
                                                       java.lang.String beanClass,
                                                       java.lang.Object result)
Overrides:
findOrCreateMethodRowSetIterator in class DCJboDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

findOrCreateAccessorRowSetIterator

public RowSetIterator findOrCreateAccessorRowSetIterator(DCIteratorBinding masterIter,
                                                         DCIteratorBinding iter,
                                                         java.lang.String accName,
                                                         java.lang.String beanClass)
Overrides:
findOrCreateAccessorRowSetIterator in class DCDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

findOrCreateAccessorRowSetIterator

public RowSetIterator findOrCreateAccessorRowSetIterator(RowSetIterator masterRSI,
                                                         DCIteratorBinding iter,
                                                         java.lang.String accName,
                                                         java.lang.String beanClass)
Description copied from class: DCDataControl
Use findOrCreateAccessorRowSetIterator(DCIteratorBinding masterIter....) instead.

Overrides:
findOrCreateAccessorRowSetIterator in class DCDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

adaptCriteria

public RowSetIterator adaptCriteria(DCIteratorBinding iter,
                                    ViewCriteria vc,
                                    DCDataVO master,
                                    java.lang.String accName)
For internal use only. Application developers should not use this

internalGetBeanDataControl

protected DCBeanDataControl internalGetBeanDataControl()
Overrides:
internalGetBeanDataControl in class DCJboDataControl

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.

Overrides:
createRowSetIteratorImpl in class DCJboDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

createViewDef

protected ViewDefImpl createViewDef(java.lang.String strDefFullName,
                                    java.lang.String vdName,
                                    StructureDef sd,
                                    AttributeDef[] fkAttrs,
                                    int vdKind)
Allow overriding of ViewDef


setAttributeInRow

public void setAttributeInRow(DCIteratorBinding iterBind,
                              Row row,
                              AttributeDef ad,
                              java.lang.Object value)
Overrides:
setAttributeInRow in class DCJboDataControl

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.

Overrides:
setCurrentRowWithKeyValue in class DCJboDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

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.

Overrides:
setCurrentRowWithKey in class DCJboDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

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.

Overrides:
setCurrentRowWithKey in class DCJboDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

findStructureDef

public StructureDefImpl findStructureDef(java.lang.String beanClass)
For internal use only. Application developers should not use this
*** For internal framework use only ***

getIteratorStructureDefName

protected java.lang.String getIteratorStructureDefName(DCIteratorBinding iter)
Description copied from class: DCDataControl
return structuredef beanclass name for this iterator binding.

Overrides:
getIteratorStructureDefName 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 DCJboDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

restoreRSIs

protected void restoreRSIs()
For internal use only. Application developers should not use this
*** For internal framework use only ***

isOperationSupported

public boolean isOperationSupported(DCIteratorBinding iterBinding,
                                    byte oper)
Returns false for execute, create, remove and find Operations

Overrides:
isOperationSupported in class DCJboDataControl

getAttributeDefs

protected AttributeDefImpl[] getAttributeDefs(StructureDefImpl def)
Invoked for dynamic DataControls. Should be implemented to return an array of AttributeDefImpl instances for the specified StructureDefImpl instance.

The constructor AttributeDefImpl.AttributeDefImpl(String, String, String, boolean, int) should be used to create the AttributeDefImpl instances.


getAccessorDefs

protected StructureDefImpl[] getAccessorDefs(StructureDefImpl def)
Invoked for dynamic DataControls. Should be implemented to return at array of accesor StructureDefImpl instances for the specified StructureDefImpl instance.

The method StructureDefImpl.createNewAccessor(String, String, DCDataControl). should be used to create StructureDefImpl instances.


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 DCJboDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

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 DCJboDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

applyViewCriteria

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

Overrides:
applyViewCriteria in class DCJboDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

isAttributeSortable

public boolean isAttributeSortable(DCIteratorBinding iter,
                                   AttributeDef ad)
Subclasses need to implement sorting and turn this flag on if the given attribute is sortable for a given iterator.

Overrides:
isAttributeSortable in class DCDataControl

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.

Overrides:
applySortCriteria in class DCJboDataControl

getSortCriteria

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

Overrides:
getSortCriteria in class DCJboDataControl

executeMethodIterators

protected void executeMethodIterators()

findApplicationPool

protected ApplicationPool findApplicationPool(java.lang.String poolName,
                                              java.lang.String configPackage,
                                              java.lang.String configSection,
                                              java.util.Properties poolProps)
Overrides:
findApplicationPool in class DCJboDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

createSessionCookie

protected SessionCookie createSessionCookie(ApplicationPool pool,
                                            java.lang.String appId,
                                            java.lang.String sessionId,
                                            java.util.Properties cookieProps)
Overrides:
createSessionCookie in class DCJboDataControl
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 DCJboDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

addDataChangeListener

protected void addDataChangeListener(DCIteratorBinding iter)
subclasses to override and add iteratorbinding as a DataChangeListener on the appropriate collection.

Overrides:
addDataChangeListener in class DCDataControl

removeDataChangeListener

protected void removeDataChangeListener(DCIteratorBinding iter)
subclasses to override and remove iteratorbinding as a DataChangeListener on the appropriate collection.

Overrides:
removeDataChangeListener in class DCDataControl

isDataChangeManager

public boolean isDataChangeManager()
Overrides:
isDataChangeManager in class DCDataControl
For internal use only. Application developers should not use this
*** For internal framework use only ***

addDataChangeListener

public void addDataChangeListener(java.lang.Object dataObj,
                                  DataChangeListener dcl)
DataChangeManager impl.

Overrides:
addDataChangeListener in class DCJboDataControl

removeDataChangeListener

public void removeDataChangeListener(java.lang.Object dataObj,
                                     DataChangeListener dcl)
Description copied from class: DCJboDataControl
Subclasses may choose to implement datachangemanager

Overrides:
removeDataChangeListener in class DCJboDataControl

stopEvents

public void stopEvents()
Overrides:
stopEvents in class DCJboDataControl

startEvents

public int startEvents(int fromId)
Description copied from class: DCJboDataControl
Subclasses may choose to implement datachangemanager returns fromId as is.

Overrides:
startEvents in class DCJboDataControl

getLastEventId

public int getLastEventId()
Description copied from class: DCJboDataControl
Subclasses may choose to implement datachangemanager returns -1;

Overrides:
getLastEventId in class DCJboDataControl

setPinned

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

Overrides:
setPinned in class DCJboDataControl

getAdaptedDC

public DataControl getAdaptedDC()
Description copied from class: DCDataControl
In case of adapter datacontrols, this returns the adapter datacontrol instance and null in all other cases.

Overrides:
getAdaptedDC in class DCDataControl

clearIteratorBinding

protected void clearIteratorBinding(DCIteratorBinding iter)
Overrides:
clearIteratorBinding in class DCJboDataControl

getEventDefinitions

public java.util.ArrayList getEventDefinitions(java.lang.String methodAccName,
                                               java.lang.String[] argTypes)
Returns an arraylist of EventDefinitions defined in the structure definition of this DataControl


getListBindingDef

public ListBindingDef getListBindingDef(DCIteratorBinding iter,
                                        Key rowKey,
                                        java.lang.String name)
Overrides:
getListBindingDef in class DCJboDataControl

Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 2 (11.1.2.1.0)

E17483-02

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