public class DataControlFrameImpl extends java.lang.Object implements DataControlFrame, oracle.adf.share.mds.ADFSessOptsChangeListener
Constructor and Description |
---|
DataControlFrameImpl(java.lang.String name,
DataControlFrameImpl parentFrame,
java.util.List<DataControlPolicy> policies,
DataControlPolicy defaultPolicy,
BindingContext bindingContext)
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
addDataControl(java.lang.Object key,
DCDataControl dc)
Add an datacontrol to the list of datacontrols that this datacontrol
frame should maintain.
|
boolean |
addDataControlPolicy(DataControlPolicy policy)
Adds a datacontrol policy to this datacontrol frame.
|
void |
beginRequest(BindingContext bindingCtx,
java.util.HashMap requestCtx) |
void |
beginTransaction(TransactionProperties properties)
Begin a new transaction.
|
java.util.List<java.lang.Throwable> |
checkSessionOptionsChange(java.lang.String param,
java.lang.Object value,
int coercionLevel,
boolean returnOnFirstErr) |
void |
commit()
Commit the current underlying transaction.
|
boolean |
containsBindingContainer(java.lang.Object bc) |
boolean |
containsDataControl(java.lang.Object dc) |
SavepointHandle |
createSavepoint()
Create a savepoint marking the current state of the task flow context.
|
java.io.Serializable |
createSnapshot()
Internal use only.
|
java.util.Collection<DCDataControl> |
datacontrols()
Returns the set of data controls in the frame
|
void |
endRequest(BindingContext bindingCtx,
java.util.HashMap requestCtx) |
DCDataControl |
findDataControl(java.lang.String dcName)
Retrieve a datacontrol instance with the given name from this datacontrol
frame.
|
DCDataControl |
findDataControl(java.lang.String dcName,
boolean create) |
DCDataControl |
findDataControl(java.lang.String dcUsageName,
java.lang.String dcName,
boolean create) |
DataControlPolicy |
findPolicy(java.lang.String name)
Retrieve a datacontrol policy with the given name from this datacontrol
frame.
|
java.lang.String |
findUniqueKey(java.lang.String key,
java.util.Map dcMap)
Return a key that is unique among the keys for datacontrols in the
BindingContext.
|
java.util.List<java.lang.Throwable> |
finishSessionOptionsChange(java.lang.String param,
java.lang.Object value,
int coercionLevel,
boolean returnOnFirstErr) |
DCBindingContainer |
getBindingContainer(java.lang.Object key) |
java.util.Collection<DCBindingContainer> |
getBindingContainers() |
DataControlPolicy |
getDefaultPolicy()
Return the default datacontrol policy of this datacontrol frame.
|
java.lang.String |
getListenerDescription() |
java.lang.String |
getListenerName() |
java.lang.String |
getName() |
java.lang.String |
getOpenTransactionName()
Returns the name of the transaction if a transaction is open
in this datacontrol frame.
|
java.util.concurrent.locks.ReentrantLock |
getSyncLock() |
static boolean |
isApplicationManagedTransaction(DataControlFrameImpl frame) |
boolean |
isTransactionDirty()
Indicates if unsaved data modifications exists within the current
datacontrol frame.
|
boolean |
isTransactionOpen()
Whether there is an open transaction in this frame, ie, whether
beginTransaction has been called on this frame which has not been
committed or rolled back.
|
void |
lock(long lockTimeout) |
void |
notifyCurrent(boolean isCurrent)
Notify the frame that it has been set current.
|
DCBindingContainer |
putBindingContainer(java.lang.Object key,
DCBindingContainer bc) |
void |
release()
Release the datacontrol frame.
|
void |
releaseSavepoint(SavepointHandle handle)
Release a save point when it is no longer needed.
|
DCBindingContainer |
removeBindingContainer(java.lang.Object key) |
void |
removeDataControl(java.lang.Object key) |
void |
removeSnapshot(java.io.Serializable handle)
Internal use only.
|
void |
restoreSavepoint(SavepointHandle handle)
Restore the transaction back to a previously created checkpoint.
|
void |
restoreSnapshot(java.io.Serializable handle)
Internal use only.
|
void |
resumeTransaction()
Resume the transaction associated with with this context.
|
void |
rollback()
Rollback the underlying transaction.
|
void |
suspendTransaction()
Called to suspend the transaction associated with this datacontrol frame.
|
void |
unlock() |
public DataControlFrameImpl(java.lang.String name, DataControlFrameImpl parentFrame, java.util.List<DataControlPolicy> policies, DataControlPolicy defaultPolicy, BindingContext bindingContext)
name
- Name of this frame.policies
- An optional list of DataControlPolicy objects for
datacontrols that have different policies than the
default policy.defaultPolicy
- The default DataControlPolicy for all datacontrols
in this datacontrol frame.bindingContext
- the BindingContext that creates this frame.public void release()
release
in interface DataControlFrame
@Concealed public java.util.concurrent.locks.ReentrantLock getSyncLock()
@Concealed public void lock(long lockTimeout)
@Concealed public void unlock()
@Concealed public void notifyCurrent(boolean isCurrent)
public void beginRequest(BindingContext bindingCtx, java.util.HashMap requestCtx)
public void endRequest(BindingContext bindingCtx, java.util.HashMap requestCtx)
public final java.util.Collection<DCDataControl> datacontrols()
DataControlFrame
datacontrols
in interface DataControlFrame
public SavepointHandle createSavepoint()
createSavepoint
in interface DataControlFrame
public void restoreSavepoint(SavepointHandle handle)
restoreSavepoint
in interface DataControlFrame
cp
- the checkpoint to return to. Must have been created by a call
to createSavepoint()
on the same transaction.public void releaseSavepoint(SavepointHandle handle)
releaseSavepoint
in interface DataControlFrame
cp
- the savepoint to release. Must have been created by a call
to createSavepoint()
on the same transaction.@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 interface DataControlFrame
@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 interface DataControlFrame
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 interface DataControlFrame
handle
- public void beginTransaction(TransactionProperties properties)
beginTransaction
in interface DataControlFrame
properties
- the transaction properties.
Used by beginTransaction in BindingContext@Concealed public static boolean isApplicationManagedTransaction(DataControlFrameImpl frame)
frame
- public void suspendTransaction()
suspendTransaction
in interface DataControlFrame
public void resumeTransaction()
resumeTransaction
in interface DataControlFrame
public java.lang.String getOpenTransactionName()
If the transaction policy of this frame is "existing", it returns the name of the transaction of the other frame specified in the datacontrol policy if that transaction is open.
A transaction is open and active if beginTransaction has been called but it has not been committed or rolled back.
getOpenTransactionName
in interface DataControlFrame
public boolean isTransactionOpen()
isTransactionOpen
in interface DataControlFrame
public boolean isTransactionDirty()
isTransactionDirty
in interface DataControlFrame
true
indicates unsaved data exists,false
indicates there is no unsaved data.public java.lang.String getName()
getName
in interface DataControlFrame
public void commit()
commit
in interface DataControlFrame
public void rollback()
rollback
in interface DataControlFrame
public java.lang.String findUniqueKey(java.lang.String key, java.util.Map dcMap)
DataControlFrame
findUniqueKey
in interface DataControlFrame
key
- key for the datacontroldcMap
- map of datacontrol from the BindingContextpublic void removeDataControl(java.lang.Object key)
public void addDataControl(java.lang.Object key, DCDataControl dc)
key
- key for the datacontroldc
- A datacontrol to be added to the datacontrol frame.public DCDataControl findDataControl(java.lang.String dcName)
findDataControl
in interface DataControlFrame
dcName
- Name of the datacontrolDataControlPolicy.getDataControl()
public DCDataControl findDataControl(java.lang.String dcName, boolean create)
public DCDataControl findDataControl(java.lang.String dcUsageName, java.lang.String dcName, boolean create)
public DataControlPolicy findPolicy(java.lang.String name)
findPolicy
in interface DataControlFrame
name
- Name of the datacontrolpublic DataControlPolicy getDefaultPolicy()
getDefaultPolicy
in interface DataControlFrame
public boolean addDataControlPolicy(DataControlPolicy policy)
addDataControlPolicy
in interface DataControlFrame
policy
- The datacontrol policy to be added.public boolean containsDataControl(java.lang.Object dc)
public DCBindingContainer getBindingContainer(java.lang.Object key)
getBindingContainer
in interface DataControlFrame
public DCBindingContainer putBindingContainer(java.lang.Object key, DCBindingContainer bc)
putBindingContainer
in interface DataControlFrame
public DCBindingContainer removeBindingContainer(java.lang.Object key)
removeBindingContainer
in interface DataControlFrame
public java.util.Collection<DCBindingContainer> getBindingContainers()
getBindingContainers
in interface DataControlFrame
public boolean containsBindingContainer(java.lang.Object bc)
public java.lang.String getListenerName()
getListenerName
in interface oracle.adf.share.mds.ADFSessOptsChangeListener
public java.lang.String getListenerDescription()
getListenerDescription
in interface oracle.adf.share.mds.ADFSessOptsChangeListener
public java.util.List<java.lang.Throwable> checkSessionOptionsChange(java.lang.String param, java.lang.Object value, int coercionLevel, boolean returnOnFirstErr)
checkSessionOptionsChange
in interface oracle.adf.share.mds.ADFSessOptsChangeListener
public java.util.List<java.lang.Throwable> finishSessionOptionsChange(java.lang.String param, java.lang.Object value, int coercionLevel, boolean returnOnFirstErr)
finishSessionOptionsChange
in interface oracle.adf.share.mds.ADFSessOptsChangeListener