public abstract class JavaBeanDataControl extends BeanFilterableDataControl implements DCHandler, TransactionalDataControl, ManagedDataControl
Modifier and Type | Field and Description |
---|---|
protected java.lang.Object |
_dataProvider |
static short |
ACCMODE_RANGE_PAGING |
static short |
ACCMODE_SCROLLABLE |
_logger
METHOD_CREATE, METHOD_EXECUTE, mName, SORT_CRITERIA
Constructor and Description |
---|
JavaBeanDataControl() |
Modifier and Type | Method and Description |
---|---|
void |
beginRequest(java.util.HashMap requestCtx)
Invoked in some contexts to signal the beginning of a model request.
|
void |
commitTransaction()
Commits the transaction for this data control.
|
java.lang.Object |
createRowData(RowContext ctx)
This method is called by the data binding framework when a new
row is needed from the data control.
|
java.io.Serializable |
createSnapshot()
Creates a snapshot of the state of the DataControl.
|
void |
endRequest(java.util.HashMap requestCtx)
Invoked in some contexts to signal the end of a model request.
|
AccessorDefinition |
findAccessorDefinition(java.lang.String className,
java.lang.String accessorName)
Find AccessorDefinition
|
java.lang.Object |
findPropertyValue(NamedDefinition def,
java.lang.String PName) |
java.lang.String |
getAssociatedMethodName(java.lang.String className,
java.lang.String accessorName,
java.lang.String PName) |
java.lang.Object |
getDataControlHandler() |
java.lang.Object |
getDataProvider()
Returns the data provider for this data control
|
Definition |
getDefinition(java.lang.String name,
int type)
Gets the data control definition.
|
java.lang.String |
getName()
Returns name to identify this datacontrol inside a BindingContext.
|
StructureDefinition |
getStructureDefinition(java.lang.String className) |
protected void |
initDCProperties(java.lang.Object instance)
Initialize Data Control properties
|
boolean |
invokeOperation(java.util.Map bindingContext,
OperationBinding action)
All OperationBindings should first delegate to the DataControl associated
with the binding to perform the action.
|
boolean |
isEagerPersist()
Overridable
JW: If the 'EagerPersist' option is turned on, issue a persistEntity() call on
the new instance.
|
boolean |
isTransactionDirty()
Indicates whether the UnitOfWork has any changes.
|
java.lang.Object |
registerDataProvider(RowContext ctx)
This method is called by the data binding facility before the row in the RowContext object is
modified or marked as removed, so the row can be marked dirty by the data control.
|
void |
release()
Releases the DataControl.
|
void |
release(int flags)
Handles releasing transactional resources when the data control
is release from the binding container.
|
boolean |
removeRowData(RowContext ctx)
This method is called by the data binding facility when a row
should be removed from the underlying data source.
|
void |
removeSnapshot(java.io.Serializable handle)
Removes the snapshot associated with the snapshot handle.
|
boolean |
resetState()
Resets the DataControl.
|
void |
restoreSnapshot(java.io.Serializable handle)
Restore the state of the DataControl with the snapshot
state that is referenced by the handle.
|
void |
rollbackTransaction()
Rollsback the transaction for this data control.
|
protected void |
setAccessMode(short accessModeFlag)
Set paging access mode flag
|
boolean |
setAttributeValue(AttributeContext ctx,
java.lang.Object value)
This method is called by the data binding framework when a new
value is to be set on an attribute in a bean.
|
protected void |
setDataControlHandler(java.lang.Object dcHandler)
set DataControlHandler
|
protected void |
setDCProvider(java.lang.Object dataProvider)
Initialize datacontrol provider
|
boolean |
supportsCriteria() |
boolean |
supportsPaging() |
boolean |
supportsPaging(java.lang.String name) |
boolean |
supportsRangePaging() |
boolean |
supportsRangePaging(java.lang.String name) |
boolean |
supportsSorting() |
void |
validate()
Validates transaction if dirty.
|
invokeAccessor, invokeOperation
getAddMethodName, getRemoveMethodName, resetAccessors
addParameter, createAndAddNewRow, createEmptyDataSet, findContainedDef, getAdapterContext, getDefinition, getDefinitionInternal, getParameterNames, getParameterValue, getSortCriteria, getStructureDef, getStructureDef, processResult, removeCurrentRow, setDefinition, setName, setParameterValue, setStructureDef, shouldReexecuteOperation
protected java.lang.Object _dataProvider
public static final short ACCMODE_SCROLLABLE
public static final short ACCMODE_RANGE_PAGING
protected void setDCProvider(java.lang.Object dataProvider)
protected void setDataControlHandler(java.lang.Object dcHandler)
protected void setAccessMode(short accessModeFlag)
protected void initDCProperties(java.lang.Object instance)
initDCProperties
in class BeanFilterableDataControl
instance
- public boolean isEagerPersist()
UpdatableBeanDataControl
isEagerPersist
in class UpdatableBeanDataControl
public StructureDefinition getStructureDefinition(java.lang.String className)
className
- public Definition getDefinition(java.lang.String name, int type)
name
- (beanClass)type
- public AccessorDefinition findAccessorDefinition(java.lang.String className, java.lang.String accessorName)
className
- accessorName
- public java.lang.Object findPropertyValue(NamedDefinition def, java.lang.String PName)
def
- PName
- public java.lang.String getAssociatedMethodName(java.lang.String className, java.lang.String accessorName, java.lang.String PName)
public java.lang.Object getDataControlHandler()
getDataControlHandler
in interface DCHandler
public boolean supportsCriteria()
supportsCriteria
in interface DCHandler
boolean
for supports criteriapublic boolean supportsPaging()
supportsPaging
in interface DCHandler
boolean
for supports pagingpublic boolean supportsRangePaging()
supportsRangePaging
in interface DCHandler
boolean
for supports range_pagingpublic boolean supportsSorting()
supportsSorting
in interface DCHandler
boolean
for supports sortingpublic boolean supportsPaging(java.lang.String name)
supportsPaging
in interface DCHandler
name
- String
accessor nameboolean
for accessor supports pagingpublic boolean supportsRangePaging(java.lang.String name)
supportsRangePaging
in interface DCHandler
name
- String
accessor nameboolean
for accessor supports range pagingpublic java.lang.String getName()
getName
in interface DataControl
getName
in class UpdatableBeanDataControl
public void release()
This should close all open DataControl resources.
release
in interface DataControl
release
in class UpdatableBeanDataControl
public java.lang.Object getDataProvider()
getDataProvider
in interface DataControl
getDataProvider
in class UpdatableBeanDataControl
public boolean invokeOperation(java.util.Map bindingContext, OperationBinding action)
invokeOperation
in interface DataControl
invokeOperation
in class UpdatableBeanDataControl
public void release(int flags)
public boolean setAttributeValue(AttributeContext ctx, java.lang.Object value)
Return true if the base framework should skip any further processing of this attribute set. Otherwise return false so that framework can perform a set or put of the attribute value based on introspection.
setAttributeValue
in interface UpdateableDataControl
setAttributeValue
in class UpdatableBeanDataControl
public java.lang.Object createRowData(RowContext ctx)
createRowData
in interface UpdateableDataControl
createRowData
in class UpdatableBeanDataControl
ctx
- Context of the new row.public java.lang.Object registerDataProvider(RowContext ctx)
registerDataProvider
in interface UpdateableDataControl
registerDataProvider
in class UpdatableBeanDataControl
ctx
- Context of the row to be modified or removed.public boolean removeRowData(RowContext ctx)
removeRowData
in interface UpdateableDataControl
removeRowData
in class UpdatableBeanDataControl
ctx
- Context of the row to be removed.public void validate()
validate
in interface UpdateableDataControl
validate
in class UpdatableBeanDataControl
public boolean isTransactionDirty()
isTransactionDirty
in interface TransactionalDataControl
public void rollbackTransaction()
rollbackTransaction
in interface TransactionalDataControl
DCDataControl.rollbackTransaction()
public void commitTransaction()
commitTransaction
in interface TransactionalDataControl
DCDataControl.commitTransaction()
public java.io.Serializable createSnapshot()
public void restoreSnapshot(java.io.Serializable handle)
handle
- Serializable a snaphsot handle that was created with
createSnapshot()
.public void removeSnapshot(java.io.Serializable handle)
handle
- Serializable a snapshot handle that was created with
createSnapshot()
.public void beginRequest(java.util.HashMap requestCtx)
Datacontrols may implement this method to perform request level initialization.
This method is to be called only once per request. For example, in web applications, page forwards should not result in multiple invocations of this method.
beginRequest
in interface ManagedDataControl
requestCtx
- a HashMap representing request context.public void endRequest(java.util.HashMap requestCtx)
Datacontrols may implement this method to perform request level cleanup.
This method is to be called only once per request. For example, in web applications, page forwards should not result in multiple invocations of this method.
endRequest
in interface ManagedDataControl
requestCtx
- a HashMap representing request context.public boolean resetState()
For example, an EJB DataControl provider may extend resetState to close the DataControl EJB SessionBean
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.
resetState
in interface ManagedDataControl