|
Oracle Fusion Middleware Java API Reference for Oracle ADF Model 11g Release 1 (11.1.1.5.0) E10653-06 |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object
java.util.AbstractMap
oracle.jbo.common.JboAbstractMap
oracle.adf.model.binding.DCDataControl
oracle.adf.model.generic.DCGenericDataControl
public class DCGenericDataControl
| 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.HashMap |
mRSIs |
protected java.util.HashMap |
mStructureDefs |
| 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 |
DCGenericDataControl()Subclasses calling this constructor should then override and call initDCProperties method as well to initialize the datacontrol properties. |
protected |
DCGenericDataControl(java.lang.String name)Subclasses calling this constructor should then override and call initDCProperties method as well to initialize the datacontrol properties. |
|
DCGenericDataControl(java.lang.String name, java.lang.String beanClass, java.lang.Object beanInstance) |
|
DCGenericDataControl(java.lang.String name, java.lang.String beanClass, java.lang.Object beanInstance, boolean root) |
| Method Summary | |
|---|---|
void |
addDataChangeListener(java.lang.Object dataObj, DataChangeListener dcl) |
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)Sets the view criteria on the given RSI if it's a DCRowSetIteratorImpl or subclass thereof. |
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)Clears the current data and state associated with all RSIs contained in this data control. |
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) |
protected RowMatch |
createCriteriaRowMatch(DCRowSetIteratorImpl rsi, ViewCriteria vc) |
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. |
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 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 |
fetchProperty(RowImpl row, java.lang.String propName) |
protected java.lang.Object |
fetchProviderProperty(java.lang.String propName) |
protected RowSetIterator |
fetchRowSetIterator(java.lang.String path) |
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)Deprecated. since 10.1.2 |
RowSetIterator |
findOrCreateMethodRowSetIterator(DCIteratorBinding iter, java.lang.String beanClass, java.lang.Object result) |
protected RowSetIterator |
findOrCreateViewObjectForCriteria(DCIteratorBinding iter, ViewCriteria vc, RowSetIterator master, java.lang.String accName) |
protected RowSetIterator |
findOrCreateViewObjectForCriteriaItem(DCIteratorBinding iter, ViewCriteriaItem vc, RowSetIterator master) |
protected DCGenericRowSetIteratorImpl |
findRootRowSetIterator(java.lang.String name) |
RowIterator |
findRowsByKeyValues(RowSetIterator rsi, Key[] keys)Advanced internal for framework use only |
protected 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) |
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. |
protected CriteriaAdapter |
getCriteriaAdapter()Return the criteria adapter that should be used to create RowMatch for any view criterias attached to RSIs created within this datacontrol |
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. |
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. |
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. |
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) |
RowSetIterator |
getPreferredListRSI(DCIteratorBinding iter, Key rowKey, java.lang.String attrName, 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. |
ViewCriteria |
getViewCriteria(DCIteratorBinding iter)Return a view criteria object attached to the RSI that this iterator binding is associated with. |
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 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 |
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. |
java.lang.Object |
registerDataProvider(DCRowContext ctx)Called before the row in the RowContext object is modified/marked as removed. |
void |
release()Releases the DataControl. |
void |
removeDataChangeListener(java.lang.Object dataObj, DataChangeListener dcl) |
boolean |
removeRowData(DCRowContext ctx)This method is to remove the row object (the obj parameter) from the underlying data source. |
boolean |
resetState()Resets the DataControl. |
protected void |
restoreRSIs() |
void |
rollbackTransaction()Helper method that invokes rollback on the current Transaction. |
void |
setCurrentRowWithKey(DCIteratorBinding iter, Key key)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. |
int |
startEvents(int fromIndex)Subclasses may choose to implement datachangemanager returns fromId as is. |
void |
validate()Called when datacontrol changes needs to be validated after updates have been processed for a page. |
| 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 java.util.Map |
|---|
clear, containsKey, containsValue, entrySet, equals, hashCode, isEmpty, keySet, put, putAll, remove, size, values |
| Field Detail |
|---|
protected java.util.HashMap mStructureDefs
protected java.util.HashMap mRSIs
protected StructureDefImpl mDef
public static final java.lang.String DC_ROOT_ACC_NAME
| Constructor Detail |
|---|
protected DCGenericDataControl()
protected DCGenericDataControl(java.lang.String name)
public DCGenericDataControl(java.lang.String name,
java.lang.String beanClass,
java.lang.Object beanInstance)
public DCGenericDataControl(java.lang.String name,
java.lang.String beanClass,
java.lang.Object beanInstance,
boolean root)
| Method Detail |
|---|
protected void initDCProperties(java.lang.String name,
BindingContext ctx,
java.util.Map dcDefAsParams,
java.lang.String beanClass,
java.lang.Object beanInstance)
public void release()
DataControlThis should close all open DataControl resources.
release in interface DataControlrelease in class DCDataControlpublic java.lang.Object getDataProvider()
DataControlgetDataProvider in interface DataControlgetDataProvider in class DCDataControl
protected java.lang.Object invokeMethod(DCInvokeMethod method,
OperationBinding action,
java.util.Map paramsMap)
DCDataControlinvokeMethod in class DCDataControl
public boolean invokeOperation(java.util.Map map,
OperationBinding action)
DataControlinvokeOperation in interface DataControlinvokeOperation in class DCDataControlpublic boolean isTransactionDirty()
DCDataControlisTransactionDirty in class DCDataControlpublic void commitTransaction()
DCDataControlcommitTransaction in class DCDataControlpublic void rollbackTransaction()
DCDataControlrollbackTransaction in class DCDataControlpublic java.lang.Object registerDataProvider(DCRowContext ctx)
DCDataControlregisterDataProvider in class DCDataControlpublic boolean removeRowData(DCRowContext ctx)
DCDataControlobj parameter) from the underlying data source.removeRowData in class DCDataControlctx - the row context to be removed.true if the operation was successful. false otherwise.public java.lang.Object createRowData(DCRowContext ctx)
DCDataControlcreateRowData in class DCDataControlpublic void validate()
DCDataControlvalidate in class DCDataControlpublic void beginRequest(java.util.HashMap map)
DCDataControlSubclassing 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 ManagedDataControlbeginRequest in class DCDataControlmap - 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 map)
DCDataControlSubclassing 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 ManagedDataControlendRequest in class DCDataControlmap - 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()
DCDataControlThe 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 ManagedDataControlresetState in class DCDataControl
public Definition getDefinition(java.lang.String name,
int type)
getDefinition in class DCDataControlprotected void initializeRSIs()
protected void initializeBindingContainer(DCBindingContainerDef formDef,
DCBindingContainer formBnd,
boolean initialize)
initializeBindingContainer in class DCDataControlprotected void executeIteratorBinding(DCIteratorBinding iter)
executeIteratorBinding in class DCDataControlprotected void executeIteratorBindingIfNeeded(DCIteratorBinding iter)
DCDataControlexecuteIteratorBindingIfNeeded in class DCDataControlprotected RowSetIterator getRowSetIterator(java.lang.String sourceName)
DCDataControlgetRowSetIterator in class DCDataControlprotected RowSetIterator fetchRowSetIterator(java.lang.String path)
protected void closeRowSetIterators(boolean recurseDetailRSIs)
protected DCGenericRowSetIteratorImpl findRootRowSetIterator(java.lang.String name)
protected java.lang.Object getAccessorValue(RowSetIterator masterRSI,
Row row,
DCIteratorBinding iter,
java.lang.String accName)
getAccessorValue in class DCDataControl
public RowIterator findRowsByKeyValues(RowSetIterator rsi,
Key[] keys)
public RowSetIterator findOrCreateMethodRowSetIterator(DCIteratorBinding iter,
java.lang.String beanClass,
java.lang.Object result)
findOrCreateMethodRowSetIterator in class DCDataControl
public RowSetIterator findOrCreateAccessorRowSetIterator(DCIteratorBinding masterIter,
DCIteratorBinding iter,
java.lang.String accName,
java.lang.String beanClass)
findOrCreateAccessorRowSetIterator in class DCDataControl
public RowSetIterator findOrCreateAccessorRowSetIterator(RowSetIterator masterRSI,
DCIteratorBinding iter,
java.lang.String accName,
java.lang.String beanClass)
findOrCreateAccessorRowSetIterator in class DCDataControl
protected RowSetIterator createRowSetIteratorImpl(java.lang.String defName,
java.lang.Object sourceObj,
RowSetIterator master)
DCDataControlcreateRowSetIteratorImpl in class DCDataControlpublic AttributeDef[] getKeyAttributeDefs(DCIteratorBinding dataIter)
getKeyAttributeDefs in class DCDataControl
public void setCurrentRowWithKeyValue(DCIteratorBinding iter,
java.lang.String stringValue)
DCDataControlConverts 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)
DCDataControlsetCurrentRowWithKey in class DCDataControl
public void setCurrentRowWithKey(DCIteratorBinding iter,
Key key)
DCDataControlsetCurrentRowWithKey in class DCDataControlprotected StructureDefImpl findStructureDef(java.lang.String beanClass)
protected java.lang.String getIteratorStructureDefName(DCIteratorBinding iter)
DCDataControlgetIteratorStructureDefName in class DCDataControl
public AttributeDef[] getAttributeDefs(DCIteratorBinding iterBinding,
java.lang.String[] attrNames)
DCDataControlgetAttributeDefs in class DCDataControl
protected java.lang.Object fetchProperty(RowImpl row,
java.lang.String propName)
protected java.lang.Object fetchProviderProperty(java.lang.String propName)
protected void restoreRSIs()
public boolean isOperationSupported(DCIteratorBinding iterBinding,
byte oper)
isOperationSupported in class DCDataControlprotected long getEstimatedRowCount(DCIteratorBinding iter)
DCDataControlgetEstimatedRowCount in class DCDataControlprotected AttributeDefImpl[] getAttributeDefs(StructureDefImpl def)
AttributeDefImpl instances for the specified StructureDefImpl instance.
The constructor AttributeDefImpl.AttributeDefImpl(String, String, String, boolean, int) should be used to create the AttributeDefImpl instances.
protected StructureDefImpl[] getAccessorDefs(StructureDefImpl def)
StructureDefImpl instances for the specified StructureDefImpl instance.
The method StructureDefImpl.createNewAccessor(String, String, DCDataControl). should be used to create StructureDefImpl instances.
public ViewCriteria getViewCriteria(DCIteratorBinding iter)
getViewCriteria in class DCDataControlpublic ViewCriteria createViewCriteria(DCIteratorBinding iter)
DCDataControlcreateViewCriteria in class DCDataControlprotected CriteriaAdapter getCriteriaAdapter()
protected RowMatch createCriteriaRowMatch(DCRowSetIteratorImpl rsi,
ViewCriteria vc)
public void applyViewCriteria(ViewCriteria vc,
DCIteratorBinding iter,
RowSetIterator rsi)
applyViewCriteria in class DCDataControl
protected RowSetIterator findOrCreateViewObjectForCriteria(DCIteratorBinding iter,
ViewCriteria vc,
RowSetIterator master,
java.lang.String accName)
findOrCreateViewObjectForCriteria in class DCDataControl
protected RowSetIterator findOrCreateViewObjectForCriteriaItem(DCIteratorBinding iter,
ViewCriteriaItem vc,
RowSetIterator master)
findOrCreateViewObjectForCriteriaItem 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 boolean isAttributeSortable(DCIteratorBinding iter,
AttributeDef ad)
isAttributeSortable in class DCDataControl
protected void applySortCriteria(DCIteratorBinding iter,
SortCriteria[] sortby)
applySortCriteria in class DCDataControlprotected SortCriteria[] getSortCriteria(DCIteratorBinding iter)
getSortCriteria in class DCDataControlprotected void executeMethodIterators()
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 java.util.ArrayList getEventDefinitions(java.lang.String methodAccName,
java.lang.String[] argTypes)
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 DCDataControlpublic int startEvents(int fromIndex)
startEvents in class DCDataControlpublic int getLastEventId()
getLastEventId in class DCDataControlprotected void clearIteratorBinding(DCIteratorBinding iter)
clearIteratorBinding in class DCDataControl
|
Oracle Fusion Middleware Java API Reference for Oracle ADF Model 11g Release 1 (11.1.1.5.0) E10653-06 |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||