public class DCJboDataControl extends DCDataControl implements TransactionStateListener
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>
DataControl.DataChangeEventPolicy
Modifier and Type | Field and Description |
---|---|
static int |
EXC_MODE_DEFAULT |
static int |
EXC_MODE_DEFERRED |
static int |
EXC_MODE_IMMEDIATE |
static java.lang.String |
INTERNALDC |
static java.lang.String |
PROP_VCIVAL_SUBST_ATTRDEF |
static int |
RELEASE_LEVEL_MANAGED |
static int |
RELEASE_LEVEL_RELOADABLE |
static int |
RELEASE_LEVEL_RESERVED |
static int |
RELEASE_LEVEL_UNMANAGED |
static int |
VAL_MODE_ALWAYS |
static int |
VAL_MODE_NEVER |
static int |
VAL_MODE_REMOTE |
static int |
VAL_MODE_UNINIT |
ABORT_ON_ATTR_ERROR_PROP, 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
MAP_NULL_VALUE
DATACHANGE_EVENT_POLLINGMODE
Modifier | Constructor and Description |
---|---|
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) |
Modifier and Type | Method and Description |
---|---|
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.
|
java.util.List<java.lang.Throwable> |
checkSessionOptionsChange(java.lang.String param,
java.lang.Object value,
int coercionLevel,
boolean returnOnFirstErr) |
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()
Internal use only.
|
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 ViewCriteria |
findOrCreateDefaultViewCriteria(DCIteratorBinding iter) |
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 Variable |
findVariable(java.lang.String path) |
java.util.List<java.lang.Throwable> |
finishSessionOptionsChange(java.lang.String param,
java.lang.Object value,
int coercionLevel,
boolean returnOnFirstErr) |
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 ApplicationModule |
internalGetApplicationModule() |
protected DCBeanDataControl |
internalGetBeanDataControl() |
protected void |
internalInitSession(BindingContext ctx,
java.util.Map appParams,
java.util.Map parameters,
java.lang.String transactionId,
DCJboDataControl transactionDC) |
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)
Internal use only.
|
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)
Internal use only.
|
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.
|
_internal_dbg_debug_data, activateConsistencyCheckForRow, addBindingContainer, addBindingContainer, addBindingContainer, addBindingContainerRef, addBindingWithExc, addDataChangeListener, addOrCreateBindingContainer, addStatusBarInterface, addTransactionStateListener, afterReportException, cacheMethodResult, callCommitTransaction, callRollbackTransaction, cleanup, clearBindingContainersModifiedState, createAccessorRowSetIterator, createBindingContainer, createBindingContainerInstance, createRowSetIteratorImpl, deactivateConsistencyCheckForRow, discardIfDefinitionChanged, displayStatus, displayStatus, doneCommit, doneRollback, findBindingContainer, findOrCreateAccessorRowSetIterator, findOrCreateAccessorRowSetIterator, findOrCreateRowSetIteratorImpl, findOrCreateSharedMethodRowSetIterator, focusGained, get, getAdaptedDC, getAppDefName, getBindingContext, getCurrentErrorHandler, getCurrentRowInternal, getDataControlFrameName, getDef, getErrorHandlerActive, getIteratorStructureDefName, getMethodResults, getMethodResultUseCount, getName, getParent, getRootDataControl, getSecurityContext, getSessionContext, getSessionContextManager, getSubstitutedDefNames, getSyncLock, getUnresolvedBindingContainer, getUserData, hasBindingsWithExc, hasDefinitionChanged, hasOperationParamsChanged, hasPermission, hasPermission, hasPermission, hasSharedAMConfig, hasSharedQC, initApplicationModule, initializeBindingContainer, initializeContainerFromDef, initializeFromMetadata, initIteratorDataControl, internalCacheMethodResults, internalGetCurrentRow, internalGetDataControlFrame, internalGetIterBindingViewObject, internalPut, internalRemoveSharedQC, invalidateMethodResult, invokeMethod, invokeOperation, isAttributeSortable, isDataChangeManager, isHintsOverrideFromPDefAllowed, isJClientApp, isReleased, isReleasing, isRoot, isTransactionModified, isTransactionModifiedInternalValue, lookupExistingBC, markAccessorIterListenerForFKMerge, rebuildIteratorIfNeeded, registerDataProvider, release, releaseAll, releaseBindings, releaseData, releaseFromDCFrame, releaseMethodResults, removeBindingContainer, removeBindingWithExc, removeDataChangeListener, removeRowDataFromCollection, removeStatusBarInterface, removeTransactionStateListener, reportException, resolveAttributeDefs, setAppDefName, setAttributeInRowTransient, setAttributesInRow, setAttributesInRowTransient, setBindingContext, setDataControlFrameName, setDef, setErrorHandler, setErrorHandlerActive, setMethodInfo, setName, setParent, setSessionContext, setTransactionModified, toString, transactionStateChanged
entrySet, equals, hashCode, put, setThrowIfPropertyNotFoundOnGet
clear, clone, containsKey, containsValue, isEmpty, keySet, putAll, remove, size, values
finalize, getClass, notify, notifyAll, wait, wait, wait
doneCommit, doneRollback
public static final int VAL_MODE_REMOTE
public static final int VAL_MODE_ALWAYS
public static final int VAL_MODE_NEVER
public static final int VAL_MODE_UNINIT
public static final int EXC_MODE_DEFAULT
public static final int EXC_MODE_DEFERRED
public static final int EXC_MODE_IMMEDIATE
public static final java.lang.String INTERNALDC
public static final java.lang.String PROP_VCIVAL_SUBST_ATTRDEF
public static final int RELEASE_LEVEL_MANAGED
public static final int RELEASE_LEVEL_RESERVED
public static final int RELEASE_LEVEL_UNMANAGED
public static final int RELEASE_LEVEL_RELOADABLE
protected DCJboDataControl()
public DCJboDataControl(java.util.Hashtable context, java.lang.String rootAMDefName, java.lang.Object userData)
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.public DCJboDataControl(ApplicationModule am)
public DCJboDataControl(DCDataControl parent, ApplicationModule am, java.lang.Object userData)
public DCJboDataControl(SessionCookie sessionCookie)
protected void internalInitSession(BindingContext ctx, java.util.Map appParams, java.util.Map parameters, java.lang.String transactionId, DCJboDataControl transactionDC)
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)
@Concealed protected void initializeApplicationModule(boolean force)
protected ApplicationPool findApplicationPool(java.lang.String poolName, java.lang.String configPackage, java.lang.String configSection, java.util.Properties poolProps)
protected SessionCookie createSessionCookie(ApplicationPool pool, java.lang.String appId, java.lang.String sessionId, java.util.Properties cookieProps)
public ApplicationModule getAm()
protected final ApplicationModule getAM()
getAM
in class DCDataControl
protected void setApplicationModule(ApplicationModule am)
public void initialize()
Creates a connection to the BC4J application module.
initialize
in class DCDataControl
public final void createRootApplicationModule()
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).
ApplicationModuleCreateException
- if the application module is not
created, perhaps due to an improper root application module name.ApplicationModule
,
ApplicationModuleHome.create()
public final java.util.Hashtable getContext()
protected void connect()
connect
in class DCDataControl
public final java.lang.String getRootAMDefName()
public final java.lang.String getDBConnectionURL()
public final java.util.Properties getDBConnectionProps()
public final void setConnectionInfo(java.lang.String dbConnectionURL, java.util.Properties dbConnectionProps)
public final java.lang.String getPackageName()
public final void setPackageName(java.lang.String packageName)
public final LocaleContext getLocaleContext()
getLocaleContext
in class DCDataControl
public final void setLocaleContext(LocaleContext locale)
setLocaleContext
in class DCDataControl
protected java.lang.Object internalGet(java.lang.String key)
transactionDirty
- returns getApplicationModule().isTransactionDirty()internalGet
in class DCDataControl
public final ApplicationModule getApplicationModule()
getApplicationModule
in class DCDataControl
protected final ApplicationModule internalGetApplicationModule()
public java.lang.Object getDataProvider()
DataControl
getDataProvider
in interface DataControl
getDataProvider
in class DCDataControl
protected void initSessionCookie(SessionCookie cookie)
public void release()
release
in interface DataControl
release
in class DCDataControl
protected RowSetIterator getRowSetIterator(java.lang.String masterName)
DCDataControl
getRowSetIterator
in class DCDataControl
protected java.lang.Object getAccessorValue(RowSetIterator masterRSI, Row row, DCIteratorBinding iter, java.lang.String accName)
getAccessorValue
in class DCDataControl
protected DCBeanDataControl internalGetBeanDataControl()
protected RowSetIterator createAccessorRowSetIterator(RowSetIterator masterRSI, Row row, DCIteratorBinding iter, java.lang.String accName, java.lang.String beanClass, boolean trackMaster)
createAccessorRowSetIterator
in class DCDataControl
protected RowSetIterator createAccessorRowSetIteratorForMasterRow(DCIteratorBinding iter, RowSetIterator masterRSI, Row row, java.lang.Object result, java.lang.String accName, java.lang.String beanClass, boolean trackMaster)
createAccessorRowSetIteratorForMasterRow
in class DCDataControl
public RowSetIterator createAccessorRowSetIterator(RowSetIterator masterRSI, DCIteratorBinding iter, java.lang.String accName, java.lang.String beanClass)
DCDataControl
createAccessorRowSetIterator
in class DCDataControl
protected RowSetIterator findOrCreateViewObjectForCriteria(DCIteratorBinding iter, ViewCriteria vc, RowSetIterator master, java.lang.String accName)
findOrCreateViewObjectForCriteria
in class DCDataControl
public RowSetIterator findOrCreateMethodRowSetIterator(DCIteratorBinding iter, java.lang.String beanClass, java.lang.Object result)
findOrCreateMethodRowSetIterator
in class DCDataControl
protected RowSetIterator createRowSetIteratorImpl(java.lang.String defName, java.lang.Object sourceObj, RowSetIterator master)
DCDataControl
createRowSetIteratorImpl
in class DCDataControl
protected void executeIteratorBinding(DCIteratorBinding iterBinding)
DCDataControl
executeIteratorBinding
in class DCDataControl
protected void executeIteratorBindingIfNeeded(DCIteratorBinding iterBinding)
DCDataControl
executeIteratorBindingIfNeeded
in class DCDataControl
@Concealed public AttributeDef[] getKeyAttributeDefs(DCIteratorBinding dataIter)
getKeyAttributeDefs
in class DCDataControl
public void setCurrentRowWithKeyValue(DCIteratorBinding iter, java.lang.String stringValue)
DCDataControl
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.
setCurrentRowWithKeyValue
in class DCDataControl
public void setCurrentRowWithKey(DCIteratorBinding iter, java.lang.String stringKey)
DCDataControl
setCurrentRowWithKey
in class DCDataControl
public void setCurrentRowWithKey(DCIteratorBinding iter, Key keyObj)
DCDataControl
setCurrentRowWithKey
in class DCDataControl
protected long getDeferredEstimatedRowCount(DCIteratorBinding iter)
getDeferredEstimatedRowCount
in class DCDataControl
protected long getEstimatedRowCount(DCIteratorBinding iter)
DCDataControl
getEstimatedRowCount
in class DCDataControl
public boolean isTransactionDirty()
DCDataControl
isTransactionDirty
in class DCDataControl
public void commitTransaction()
DCDataControl
commitTransaction
in class DCDataControl
public void validate()
DCDataControl
validate
in class DCDataControl
public void rollbackTransaction()
DCDataControl
rollbackTransaction
in class DCDataControl
public boolean isOperationSupported(DCIteratorBinding iterBinding, byte oper)
isOperationSupported
in class DCDataControl
public boolean isClientTier()
isClientTier
in class DCDataControl
public boolean syncNeeded()
DCDataControl
syncNeeded
in class DCDataControl
public void syncIfNeeded(java.lang.String syncFromDiagnostic)
DCDataControl
syncIfNeeded
in class DCDataControl
public void sync(java.lang.String syncFromDiagnostic)
DCDataControl
sync
in class DCDataControl
public void setClientApp(byte clientType)
setClientApp
in class DCDataControl
public void setPartialUpdate(boolean flag)
DCDataControl
setPartialUpdate
in class DCDataControl
public void setBundledExceptionMode(int mode)
public void setValidationInBinding(int flag)
public int getValidationInBinding()
public void prepareSession()
public void beginRequest(java.util.HashMap requestCtx)
DCDataControl
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.
beginRequest
in interface ManagedDataControl
beginRequest
in class DCDataControl
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.public void endRequest(java.util.HashMap requestCtx)
DCDataControl
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.
endRequest
in interface ManagedDataControl
endRequest
in class DCDataControl
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.public boolean resetState()
DCDataControl
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.
resetState
in interface ManagedDataControl
resetState
in class DCDataControl
public ListBindingDef getListBindingDef(DCIteratorBinding iter, Key rowKey, java.lang.String name)
getListBindingDef
in class DCDataControl
public java.lang.String getListBindingName(DCIteratorBinding iter, Key rowKey, java.lang.String attrName, java.lang.String name)
getListBindingName
in class DCDataControl
public RowSetIterator getListBindingRSI(DCIteratorBinding iter, Key rowKey, java.lang.String attrName, java.lang.String name)
getListBindingRSI
in class DCDataControl
public RowSetIterator getPreferredListRSI(DCIteratorBinding iter, Key rowKey, java.lang.String attrName, java.lang.String name)
getPreferredListRSI
in class DCDataControl
public ViewObject findCustomViewObject(java.lang.String name, java.lang.String interfaceName)
protected void setDataProvider(java.lang.Object provider)
setDataProvider
in class DCDataControl
public AttributeDef[] getAttributeDefs(DCIteratorBinding iterBinding, java.lang.String[] attrNames)
DCDataControl
getAttributeDefs
in class DCDataControl
public void setSessionCookie(SessionCookie sessionCookie)
protected void applySortCriteria(DCIteratorBinding iter, SortCriteria[] sortBy)
applySortCriteria
in class DCDataControl
protected SortCriteria[] getSortCriteria(DCIteratorBinding iter)
getSortCriteria
in class DCDataControl
public java.lang.Object createRowData(DCRowContext ctx)
DCDataControl
createRowData
in class DCDataControl
public boolean removeRowData(DCRowContext ctx)
DCDataControl
obj
parameter)
from the underlying data source.
removeRowData
in class DCDataControl
ctx
- the row context to be removed.true
if the operation was successful.
false
otherwise.protected boolean modifyTransactionStateForAttributeSet(DCIteratorBinding iterBind, Row row, AttributeDef ad)
modifyTransactionStateForAttributeSet
in class DCDataControl
@Concealed public void setAttributeInRow(DCIteratorBinding iterBind, Row row, AttributeDef ad, java.lang.Object value)
setAttributeInRow
in class DCDataControl
public ViewCriteria createViewCriteria(DCIteratorBinding iter)
DCDataControl
createViewCriteria
in class DCDataControl
public ViewCriteria getViewCriteria(DCIteratorBinding iter)
DCDataControl
getViewCriteria
in class DCDataControl
@Concealed protected ViewCriteria findOrCreateDefaultViewCriteria(DCIteratorBinding iter)
public void applyViewCriteria(ViewCriteria vc, DCIteratorBinding iter, RowSetIterator rsi)
DCDataControl
applyViewCriteria
in class DCDataControl
protected void internalSetTransactionStateChanged(boolean state)
internalSetTransactionStateChanged
in class DCDataControl
protected boolean isBoundRowIteratorEvent(DCIteratorBinding iter, JboEvent ev)
isBoundRowIteratorEvent
in class DCDataControl
public int getReleaseLevel()
ApplicationModule.getReleaseLevel()
public void setReleaseLevel(int releaseLevel)
@Concealed public void executeIteratorBindingWithParams(DCIteratorBinding iter, OperationParameter[] params, java.lang.Object[] paramVals)
executeIteratorBindingWithParams
in class DCDataControl
protected boolean hasKeyAttributes(DCIteratorBinding iter)
hasKeyAttributes
in class DCDataControl
public void addDataChangeListener(java.lang.Object dataObj, DataChangeListener dcl)
addDataChangeListener
in class DCDataControl
public void removeDataChangeListener(java.lang.Object dataObj, DataChangeListener dcl)
removeDataChangeListener
in class DCDataControl
public int startEvents(int fromId)
startEvents
in class DCDataControl
public void stopEvents()
stopEvents
in class DCDataControl
protected boolean isPinnedForDCE()
public int getLastEventId()
getLastEventId
in class DCDataControl
public Definition getDefinition(java.lang.String defFullName, int defType)
getDefinition
in class DCDataControl
protected java.lang.Object invokeMethod(DCInvokeMethod method, OperationBinding action, java.util.Map paramsMap)
DCDataControl
invokeMethod
in class DCDataControl
protected Variable findVariable(java.lang.String path)
findVariable
in class DCDataControl
protected void clearIteratorBinding(DCIteratorBinding iter)
clearIteratorBinding
in class DCDataControl
protected void resetAttributeExceptionInRow(DCIteratorBinding iter, Row row, AttributeDef def, AttrValException ave)
resetAttributeExceptionInRow
in class DCDataControl
@Concealed public java.io.Serializable createSnapshot()
removeSnapshot(java.io.Serializable)
once the snapshot is no longer needed. Not
invoking removeSnapshot will result in an accumulation of snapshots
in the durable snapshot store.
Applications should not invoke this directly. Instead,
applications should use ADFc TaskFlows to declaratively work with
snapshots.createSnapshot
in class DCDataControl
@Concealed public void restoreSnapshot(java.io.Serializable handle)
createSnapshot()
. After restore the BindingContext state
will be equivalent to the state when createSnapshot was invoked.
Applications should not invoke this directly. Instead,
applications should use ADFc TaskFlows to declaratively work with
snapshots.restoreSnapshot
in class DCDataControl
handle
- @Concealed public void removeSnapshot(java.io.Serializable handle)
createSnapshot()
.
Applications should not invoke this directly. Instead,
applications should use ADFc TaskFlows to declaratively work with
snapshots.removeSnapshot
in class DCDataControl
handle
- public java.lang.Object createSavepoint()
createSavepoint
in class DCDataControl
public void restoreSavepoint(java.lang.Object handle)
restoreSavepoint
in class DCDataControl
protected void setPinned(boolean flag)
DCDataControl
setPinned
in class DCDataControl
public void processChangeNotifications()
DCDataControl
processChangeNotifications
in class DCDataControl
@Concealed protected void beforeReportException(DCBindingContainer formBnd, java.lang.Exception ex)
beforeReportException
in class DCDataControl
@Concealed public java.util.List<java.lang.Throwable> checkSessionOptionsChange(java.lang.String param, java.lang.Object value, int coercionLevel, boolean returnOnFirstErr)
checkSessionOptionsChange
in class DCDataControl
@Concealed public java.util.List<java.lang.Throwable> finishSessionOptionsChange(java.lang.String param, java.lang.Object value, int coercionLevel, boolean returnOnFirstErr)
finishSessionOptionsChange
in class DCDataControl