Oracle Application Development Framework Model and Business Components Java API Reference 10.1.3.1.0
B28969-01


oracle.adf.model.binding
Class DCIteratorBinding

java.lang.Object
  extended byjava.util.AbstractMap
      extended byoracle.jbo.common.JboAbstractMap
          extended byoracle.adf.model.binding.DCExecutableBinding
              extended byoracle.adf.model.binding.DCIteratorBinding

All Implemented Interfaces:
DCIExecutable, java.util.EventListener, java.util.Map, oracle.jbo.RowNavigationListener, RowSetListener, oracle.jbo.RowSetManagementListener
Direct Known Subclasses:
JUIteratorBinding

public abstract class DCIteratorBinding
extends DCExecutableBinding
implements RowSetListener, oracle.jbo.RowSetManagementListener

DCIteratorBinding is the binding class that interacts with RowIterator objects to iterate over rows and provide the current row(s) for use in a client application or to view via various control bindings. DCIteratorBinding objects are uniquely identified by name in a DCBindingContainer which acts as a container of iterator bindings. This class handles the events generated from the associated RowIterator and sends the current Row (rows in range) over to individual control bindings to display current data. This class also manages the findMode data for the associated iterator and ViewObject(incase of BC4J).

At runtime, an application can bind an instance of oracle.jbo.NavigatableRowIterator to a DCIteratorBinding object using the bindRowSetIterator method.


Nested Class Summary

 

Nested classes inherited from class java.util.Map
java.util.Map.Entry

 

Field Summary
protected  boolean inExecute
           
protected  oracle.jbo.ApplicationModule mAM
           
protected  Row mCreatedRowRef
           
protected  DCDataControl mDC
           
protected  int mRangeSize
           
static int RANGESIZE_DO_NOT_OVERRIDE
           
static int RANGESIZE_UNLIMITED
           

 

Fields inherited from class oracle.adf.model.binding.DCExecutableBinding
mInternalGet_KeyResolved

 

Fields inherited from interface oracle.adf.model.binding.DCIExecutable
EXECUTABLE_ACTION, EXECUTABLE_ITERATORBINDING, EXECUTABLE_REGION

 

Constructor Summary
protected DCIteratorBinding()
           
protected DCIteratorBinding(oracle.jbo.ApplicationModule am, java.lang.String voName, java.lang.String rsiName)
          When the usage only needs one row at a time, use this constructor to create an iterator binding.
protected DCIteratorBinding(oracle.jbo.ApplicationModule am, java.lang.String voName, java.lang.String rsiName, int rangeSize)
          Use this constructor if a usage needs a specific range size on the associated iterator.
protected DCIteratorBinding(oracle.adf.model.BindingContext ctx, java.lang.String dcName, java.lang.String sourceName, java.lang.String rsiName, int rangeSize)
          Use this constructor if a usage needs a specific range size on the associated iterator.
protected DCIteratorBinding(DCDataControl dc, RowSetIterator rsi)
          When an application has a RowSet it should use this constructor.
protected DCIteratorBinding(DCIteratorBinding iterBinding)
           

 

Method Summary
 void addActionBinding(DCControlBinding bnd)
          Adds the given action control binding object to its list.
 void addValueBinding(DCControlBinding bnd)
          Adds the given control binding object to its list.
 boolean allowsRefreshControl()
           
 void applySortCriteria(oracle.jbo.SortCriteria[] sortby)
          Sets the sort critiera that will be applied next time when the source for this iteratorBinding is executed.
 void bindRowSetIterator(NavigatableRowIterator iter, boolean initRangeSize)
          Use this method to bind a new instance of RowIterator from a Business Service to this binding.
protected  void cacheCreatedRow(RowSetIterator rsi, Row row)
           
 Key createKey(java.lang.String stringKey)
          Given the key string, convert it to a Key using the associated RowSetIterator's StructureDef.
protected  void disableTokenValidation()
          Internal: Applications should not use this method.
protected  void doExecuteQuery()
          Calls datacontrol.executeIteratorBinding.
 void executeQuery()
          Executes the query or the RowSet behind this iterator binding object.
 void executeQueryIfNeeded()
          Executes the query or the RowSet behind this iterator binding object if not already executed.
protected  void fetchAttributeProperties()
           
 java.util.ArrayList getActionBindingList()
          Returns a list of DCCtrlActionBinding objects that are associated with this iterator binding.
 Row[] getAllRowsInRange()
          Returns an array of rows in the current range of the current RowIterator.
 AttributeDef[] getAttributeDefs()
          get all attribute defs for the RSI that this iterator binding is bound to.
 AttributeDef[] getAttributeDefs(java.lang.String[] attrNames)
          return attribute defs for attributes that are named in the given array.
 Row getCurrentRow()
          Returns the current row of the iterator with which this binding object is associated.
 int getCurrentRowIndexInRange()
          Returns current row index in the current Range in the Rowsetiterator
 java.lang.String getCurrentRowKeyString()
          Returns String 10.1.3.1.0 of the row key for the current row in the associated iterator.
 java.lang.String getCurrentRowWithKeyValue()
          Returns String 10.1.3.1.0 of the row key for the current row in the associated iterator.
 DCDataControl getDataControl()
          Helper method to return the DCDataControl from this binding's BindingContainer.
 DCIteratorBindingDef getDef()
          Internal: Applications should not use this method.
 java.lang.String getDisplayName()
          Returns the name of this IteratorBinding.
 JboException getError()
           
 long getEstimatedRowCount()
           
 oracle.adf.model.binding.DCIExecutableDef getExecutableDef()
          *** For internal framework use only ***
 int getExecutableType()
          Internal: Applications should not use this method.
 java.lang.String getIteratorDefName()
           
 RowSetIterator getLovRowSetIterator()
           
protected  RowSetListener getMasterListener()
           
 NavigatableRowIterator getNavigatableRowIterator()
          Returns the current RowIterator, which can be a data RowSetIterator or a find mode ViewCriteria based on the find mode.
 java.lang.String getPermissionTargetName()
           
 int getRangeSize()
          Returns current rowsetiterator's range size
 int getRangeStart()
          Returns current rowsetiterator's range start
 Row getRowAtRangeIndex(int rangeIndex)
          Returns the row of given range index.
 RowSetIterator getRowSetIterator()
          Returns the current data RowSetIterator that holds rows with which this iterator binding object and its associated control-bindings are working.
 oracle.jbo.SortCriteria[] getSortCriteria()
          Returns an ordered array of SortCriteria that will be applied when the source for this iteratorBinding is executed.
 java.lang.String getSourceName()
          Returns the name of the collection instance to which this iterator binding is bound to.
 java.lang.Object getSyncLock()
           
 java.util.ArrayList getValueBindingList()
          Returns a list of DCCtrlValueBinding objects that are associated with this iterator binding.
 ViewCriteria getViewCriteria()
           
 java.lang.String getViewDefName()
          Internal: Applications should not use this method. Returns the name of the ViewDefinition object.
 oracle.jbo.ViewObject getViewObject()
          Returns the ViewObject to which this iterator binding is associated with (via the binding definition).
 java.lang.String getVOName()
          Internal: Applications should not use this method. Returns the name of the ViewObject instance of the iterator to which this iterator binding is associated.
 boolean hasRefreshParametersChanged()
          *** For internal framework use only ***
 boolean hasRSI()
          returns true if a RowSetIterator has been bound to this iterator.
protected  DCDataControl initDataControl()
           
protected  RowSetIterator initSourceRSI()
           
protected  java.lang.Object internalGet(java.lang.String key)
           
protected  Row internalGetCurrentRowInBinding()
          Internal: Applications should not use this method.
 void internalGetNextRangeSet()
           
 void internalGetPreviousRangeSet()
           
 void internalReserveCurrentRow()
          Internal: Applications should not use this method.
 boolean isAccessorIterator()
          Is this bound to a collection returned from a bean accessor?
 boolean isAlive()
          Internal: Applications should not use this method.
 boolean isAttributeSortable(AttributeDef ad)
          View layer bindings may consult this to find out if an attribute in this iteratorBinding is sortable or not.
 boolean isBound()
          Internal: Applications should not use this method.
 boolean isBoundRowIteratorEvent(oracle.jbo.JboEvent ev)
           
 boolean isFindMode()
          Returns true if this iterator binding is in find mode.
 boolean isFindModeAllowed()
           
 boolean isIteratorMadeVisible()
           
 boolean isOperationSupported(byte oper)
           
 boolean isRowSetEventsEnabled()
          Returns true if this IteratorBinding should notify the containing BindingContainer's RowSetListeners of RowSet events.
 boolean isSortable()
          Internal: Applications should not use this method.
 boolean isSuspendRowSetEventsHandling()
          Returns true if this IteratorBinding is not reacting to any RowSetIterator events.
 void iteratorClosed(oracle.jbo.RowSetManagementEvent event)
          Resets the internal state of this binding object and marks it as unusable.
 void iteratorReset(oracle.jbo.RowSetManagementEvent event)
          Notifies rangeRefreshed to all bindings so that they can update their display.
 void navigated(NavigationEvent event)
          Calls updateNavigated() for all DCCtrlRangeBinding instances associated with this iterator binding object, or calls updateValuesFromRow() on all other control binding instances, passing in the current row instance from the RowIterator.
 boolean needsEstimatedRowCount()
           
protected abstract  void notifyUpdateEvent(UpdateEvent event)
          called when rowUpdated event is received from the model.
protected  Row prepareCurrentRow()
           
 void prepareForInput()
          Internal: Applications should not use this method. Called on this binding before a binding returns from processInputValue This gives the iterator binding a chance to mark new row state to STATUS_NEW from initialized and hence submit the new row even if there are no changes on the row.
 void processInputException()
          Deprecated. use processInputException(JboException);
 void processInputException(JboException errExc)
           
 void rangeRefreshed(RangeRefreshEvent event)
          Handles the rangeRefereshed event generated by the current RowIterator.
 void rangeScrolled(ScrollEvent event)
          This method invokes updateRangeScrolled method on all instances of DCCtrlRangeBinding objects associated with this iterator binding, to notify them of the change in current range of rows.
 void refresh(int id)
          Internal: Applications should not use this method.
 void release()
           
 void release(int flags)
          *** For internal framework use only ***
 boolean removeActionBinding(DCControlBinding bnd)
          Removes the given action control binding object from its list.
 void removeCurrentRow()
           
 void removeRowWithKey(java.lang.String stringKey)
          Find a row with the given key in the current row iterator and if one found, remove it.
 boolean removeValueBinding(DCControlBinding bnd)
          Removes the given control binding object from its list.
 void reportException(boolean markDead, java.lang.Exception ex)
          Utility method to report exceptions via the containing binding container.
 void resolveRangeSize(int rangeSize)
          Sets this iterator binding and it's associated RowIterator's range size to the greater of this either the iterator's range size and the given range size.
 void rowDeleted(DeleteEvent event)
          If range size of this iterator binding is not 1, this method invokes updateRowDeleted method on all instances of DCCtrlValueBinding objects associated with this iterator binding, to notify them of the newly inserted row.
 void rowInserted(InsertEvent event)
          If range size of this iterator binding is not 1, this method invokes updateRowInserted method on all instances of DCCtrlValueBinding objects associated with this iterator binding, to notify them of the newly inserted row.
 void rowUpdated(UpdateEvent event)
          Invokes updateValuesFromRow() to notify all control bindings of a change in an attribute in the row.
protected  void setAlive(boolean flag)
          Internal: Applications should not use this method.
 void setAllowFindMode(boolean flag)
          Advanced Internal This method is for list bindings to mark the source binding to not go into find mode.
 void setBindingContainer(DCBindingContainer formBnd)
           
 void setCurrentRowIndexInRange(int val)
           
 void setCurrentRowWithKey(java.lang.String stringKey)
          Find the row in the associated row iterator based on the Key object and if found set that as the current row.
 void setCurrentRowWithKeyValue(java.lang.String stringKeyValue)
          Find the row in the associated row iterator based on the value for a key attribute and if found set that as the current row.
protected  void setDef(DCIteratorBindingDef def)
          Internal: Applications should not use this method. After creation sets the def used to create this iterator binding.
 void setFindMode(boolean mode)
          Calls setFindMode(boolean mode, boolean applyCriteria) with applyCriteria = true;
 void setFindMode(boolean mode, boolean applyVC)
          Sets this iterator to findMode or not.
protected  void setIteratorMadeVisible(boolean flag)
           
 void setRangeSize(int val)
          Set current rowsetiterator's range size
 void setRangeStart(int val)
          Set current rowsetiterator's range start
 void setRowSetEventsEnabled(boolean flag)
          Set this flag if this IteratorBinding should pass on the rowset events to containing BindingContainer's RowSetListeners.
 void suspendRowSetEventsHandling(boolean flag)
          Set this flag to turn off reacting to RowSetIterator events.
protected abstract  void updateValuesFromRow(Row row)
          Calls updateValueFromRow() on each instance of DCCtrlValueBinding objects associated with this iterator binding object.
protected abstract  void updateValuesFromRows(Row[] rows, Row row, boolean clear)
          Calls updateValuesFromRows() on each instance of DCCtrlRangeBinding object associated with this iterator binding object.

 

Methods inherited from class oracle.adf.model.binding.DCExecutableBinding
addDependentExecutable, get, getBindingContainer, getDependents, getName, getRefreshExpression, getRefreshOption, isRefreshed, refreshIfNeeded, removeDependentExecutable, resetDependentsRefresh, setExecutableDef, setName, setRefreshed, setRefreshExpression, setRefreshOption

 

Methods inherited from class oracle.jbo.common.JboAbstractMap
entrySet, equals, hashCode, internalPut, put

 

Methods inherited from class java.util.AbstractMap
clear, clone, containsKey, containsValue, isEmpty, keySet, putAll, remove, size, toString, values

 

Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait

 

Field Detail

mAM

protected oracle.jbo.ApplicationModule mAM

mRangeSize

protected int mRangeSize

mDC

protected DCDataControl mDC

inExecute

protected boolean inExecute

mCreatedRowRef

protected Row mCreatedRowRef

RANGESIZE_DO_NOT_OVERRIDE

public static int RANGESIZE_DO_NOT_OVERRIDE

RANGESIZE_UNLIMITED

public static int RANGESIZE_UNLIMITED

Constructor Detail

DCIteratorBinding

protected DCIteratorBinding()

DCIteratorBinding

protected DCIteratorBinding(DCIteratorBinding iterBinding)

DCIteratorBinding

protected DCIteratorBinding(oracle.adf.model.BindingContext ctx,
                            java.lang.String dcName,
                            java.lang.String sourceName,
                            java.lang.String rsiName,
                            int rangeSize)
Use this constructor if a usage needs a specific range size on the associated iterator. Objects of type DCCtrlRangeBinding may use this constructor to specify a default range size for the iterator.

DCIteratorBinding

protected DCIteratorBinding(oracle.jbo.ApplicationModule am,
                            java.lang.String voName,
                            java.lang.String rsiName,
                            int rangeSize)
Use this constructor if a usage needs a specific range size on the associated iterator. Objects of type DCCtrlRangeBinding may use this constructor to specify a default range size for the iterator.

DCIteratorBinding

protected DCIteratorBinding(oracle.jbo.ApplicationModule am,
                            java.lang.String voName,
                            java.lang.String rsiName)
When the usage only needs one row at a time, use this constructor to create an iterator binding.

DCIteratorBinding

protected DCIteratorBinding(DCDataControl dc,
                            RowSetIterator rsi)
When an application has a RowSet it should use this constructor.

Method Detail

setDef

protected void setDef(DCIteratorBindingDef def)
Internal: Applications should not use this method. After creation sets the def used to create this iterator binding.

getDef

public DCIteratorBindingDef getDef()
Internal: Applications should not use this method.

prepareForInput

public void prepareForInput()
Internal: Applications should not use this method. Called on this binding before a binding returns from processInputValue This gives the iterator binding a chance to mark new row state to STATUS_NEW from initialized and hence submit the new row even if there are no changes on the row.

isAccessorIterator

public boolean isAccessorIterator()
Is this bound to a collection returned from a bean accessor?

getDisplayName

public final java.lang.String getDisplayName()
Returns the name of this IteratorBinding.

getVOName

public java.lang.String getVOName()
Internal: Applications should not use this method. Returns the name of the ViewObject instance of the iterator to which this iterator binding is associated.

getSourceName

public java.lang.String getSourceName()
Returns the name of the collection instance to which this iterator binding is bound to.

getViewDefName

public final java.lang.String getViewDefName()
Internal: Applications should not use this method. Returns the name of the ViewDefinition object.

reportException

public void reportException(boolean markDead,
                            java.lang.Exception ex)
Utility method to report exceptions via the containing binding container. If the exception is not JboException, this method creates a JboException that contains the input exception object and passes only JboException to the bindingcontainer. If BindingContainer is null then this method rethrows the JboException.
Parameters:
markDead - if this iterator binding should be marked as not alive for any further usage.
ex - Exception object to be reported via the BindingContainer.

bindRowSetIterator

public void bindRowSetIterator(NavigatableRowIterator iter,
                               boolean initRangeSize)
Use this method to bind a new instance of RowIterator from a Business Service to this binding. This method should be used to display data from a different RowIterator of the same Collection type in a given form. For example, if a tree is used to navigate Departments and their employees, upon selecting an employee node, an application can pass the Employee node's RowIterator over to this iterator binding, to update the display in another panel of Employee data with the currently selected Employee.

This method will not directly update the control-bindings for non-ADFJClient apps. The caller can optionally call navigated(null) method, with null for the Event parameter to notify each control bound to this iterator binding to update it's displayed value with the new iterator's current row.

Parameters:
iter - RowIterator instance from which to display data in bound controls.
initRangeSize - determines whether this iterator's range size should be adjusted to this binding's range size. This should be used to extend the range size from the default in the RowIterator to whatever is required by this iterator binding. For example, if a RowIterator whose range size is 1 is passed to this method and a grid control is bound to this iterator binding, then the grid may need more than one row to display from the current range. So, this flag should be true in that case to allow the grid to get the full range of rows to display, rather than updating its display one row at a time.

isBoundRowIteratorEvent

public final boolean isBoundRowIteratorEvent(oracle.jbo.JboEvent ev)

isIteratorMadeVisible

public final boolean isIteratorMadeVisible()

setIteratorMadeVisible

protected void setIteratorMadeVisible(boolean flag)

isRowSetEventsEnabled

public final boolean isRowSetEventsEnabled()
Returns true if this IteratorBinding should notify the containing BindingContainer's RowSetListeners of RowSet events.

setRowSetEventsEnabled

public final void setRowSetEventsEnabled(boolean flag)
Set this flag if this IteratorBinding should pass on the rowset events to containing BindingContainer's RowSetListeners. Applications should turn off this flag for IteratorBindings used for readonly purposes like LOVs, etc which do not need any UI overrides like enabling/disabling a control etc.

suspendRowSetEventsHandling

public void suspendRowSetEventsHandling(boolean flag)
Set this flag to turn off reacting to RowSetIterator events. BindingContainer uses this during refreshControl() during batch datacontrol operations. Also when this iterator is released the events-handling may be turned off by using this suspend.

isSuspendRowSetEventsHandling

public boolean isSuspendRowSetEventsHandling()
Returns true if this IteratorBinding is not reacting to any RowSetIterator events.

allowsRefreshControl

public boolean allowsRefreshControl()

prepareCurrentRow

protected Row prepareCurrentRow()

rangeRefreshed

public void rangeRefreshed(RangeRefreshEvent event)
Handles the rangeRefereshed event generated by the current RowIterator. If the range size of this binding is 1, then calls updateValuesFromRow() with the current row as the argument to notify all control bindings associated with this iterator binding of the change in current row. If the range size is not 1, then this method calls updateValuesFromRows() passing in the current range of rows to all DCCtrlRangeBinding control bindings.
Specified by:
rangeRefreshed in interface RowSetListener
Parameters:
event - a description of the new ranges.

rangeScrolled

public void rangeScrolled(ScrollEvent event)
This method invokes updateRangeScrolled method on all instances of DCCtrlRangeBinding objects associated with this iterator binding, to notify them of the change in current range of rows.
Specified by:
rangeScrolled in interface RowSetListener
Parameters:
event - a description of the new range.

rowInserted

public void rowInserted(InsertEvent event)
If range size of this iterator binding is not 1, this method invokes updateRowInserted method on all instances of DCCtrlValueBinding objects associated with this iterator binding, to notify them of the newly inserted row.
Specified by:
rowInserted in interface RowSetListener
Parameters:
event - a description of the new Row object.

internalGetNextRangeSet

public void internalGetNextRangeSet()

internalGetPreviousRangeSet

public void internalGetPreviousRangeSet()

rowDeleted

public void rowDeleted(DeleteEvent event)
If range size of this iterator binding is not 1, this method invokes updateRowDeleted method on all instances of DCCtrlValueBinding objects associated with this iterator binding, to notify them of the newly inserted row.

This method also sets the currency on the RowIterator to the next row (if available) or previous row (if available) or simply a NO row by calling navigated() with no current row.

Specified by:
rowDeleted in interface RowSetListener
Parameters:
event - a description of the deleted Row object.

rowUpdated

public void rowUpdated(UpdateEvent event)
Invokes updateValuesFromRow() to notify all control bindings of a change in an attribute in the row.
Specified by:
rowUpdated in interface RowSetListener
Parameters:
event - a description of the modified Row object.

navigated

public void navigated(NavigationEvent event)
Calls updateNavigated() for all DCCtrlRangeBinding instances associated with this iterator binding object, or calls updateValuesFromRow() on all other control binding instances, passing in the current row instance from the RowIterator.
Specified by:
navigated in interface RowSetListener
Parameters:
event - a description of the new and previous current rows.

notifyUpdateEvent

protected abstract void notifyUpdateEvent(UpdateEvent event)
called when rowUpdated event is received from the model.

updateValuesFromRows

protected abstract void updateValuesFromRows(Row[] rows,
                                             Row row,
                                             boolean clear)
Calls updateValuesFromRows() on each instance of DCCtrlRangeBinding object associated with this iterator binding object. These objects are then responsible for updating their display with the latest set of rows.

updateValuesFromRow

protected abstract void updateValuesFromRow(Row row)
Calls updateValueFromRow() on each instance of DCCtrlValueBinding objects associated with this iterator binding object. These control binding objects are responsible for updating their display with values from the given Row.

getSyncLock

public final java.lang.Object getSyncLock()

iteratorReset

public void iteratorReset(oracle.jbo.RowSetManagementEvent event)
Notifies rangeRefreshed to all bindings so that they can update their display.
Specified by:
iteratorReset in interface oracle.jbo.RowSetManagementListener

iteratorClosed

public void iteratorClosed(oracle.jbo.RowSetManagementEvent event)
Resets the internal state of this binding object and marks it as unusable.
Specified by:
iteratorClosed in interface oracle.jbo.RowSetManagementListener

getViewCriteria

public ViewCriteria getViewCriteria()

getViewObject

public oracle.jbo.ViewObject getViewObject()
Returns the ViewObject to which this iterator binding is associated with (via the binding definition). If the rowSetIterator that this binding is associated with is changed at runtime then the rowsetIterator should be used to get the current ViewObject for a running instance of IteratorBinding. In general applications should use hasRSI() to find out if this IteratorBinding has an instance of associated RowSetIterator and if so, use rsi.getRowSet().getViewObject() to get the current ViewObject instance. Use this method only if hasRSI() returns false.

Returns null for non-bc4j collection bound IteratorBindings.


resolveRangeSize

public void resolveRangeSize(int rangeSize)
Sets this iterator binding and it's associated RowIterator's range size to the greater of this either the iterator's range size and the given range size. If either is -1, then that takes precedence, so that range size = all rows.

hasRSI

public boolean hasRSI()
returns true if a RowSetIterator has been bound to this iterator.

getRowSetIterator

public RowSetIterator getRowSetIterator()
Returns the current data RowSetIterator that holds rows with which this iterator binding object and its associated control-bindings are working.

initSourceRSI

protected RowSetIterator initSourceRSI()

getNavigatableRowIterator

public NavigatableRowIterator getNavigatableRowIterator()
Returns the current RowIterator, which can be a data RowSetIterator or a find mode ViewCriteria based on the find mode.

getMasterListener

protected RowSetListener getMasterListener()

setAllowFindMode

public final void setAllowFindMode(boolean flag)
Advanced Internal This method is for list bindings to mark the source binding to not go into find mode.

isFindModeAllowed

public final boolean isFindModeAllowed()

setFindMode

public final void setFindMode(boolean mode)
Calls setFindMode(boolean mode, boolean applyCriteria) with applyCriteria = true;

setFindMode

public final void setFindMode(boolean mode,
                              boolean applyVC)
Sets this iterator to findMode or not. If mode = false, then it applies the current ViewCriteria to this binding's ViewObject to execute the criteria if applyVC = true;

isFindMode

public final boolean isFindMode()
Returns true if this iterator binding is in find mode.

needsEstimatedRowCount

public final boolean needsEstimatedRowCount()

executeQuery

public void executeQuery()
Executes the query or the RowSet behind this iterator binding object.

executeQueryIfNeeded

public void executeQueryIfNeeded()
Executes the query or the RowSet behind this iterator binding object if not already executed.

doExecuteQuery

protected void doExecuteQuery()
Calls datacontrol.executeIteratorBinding.

getCurrentRow

public Row getCurrentRow()
Returns the current row of the iterator with which this binding object is associated. In find mode, this returns an instance of ViewCriteriaRow.

internalGetCurrentRowInBinding

protected Row internalGetCurrentRowInBinding()
Internal: Applications should not use this method.

getRowAtRangeIndex

public Row getRowAtRangeIndex(int rangeIndex)
Returns the row of given range index.
Parameters:
rangeIndex - The range index of the row.

getAllRowsInRange

public Row[] getAllRowsInRange()
Returns an array of rows in the current range of the current RowIterator.

setBindingContainer

public void setBindingContainer(DCBindingContainer formBnd)
Specified by:
setBindingContainer in interface DCIExecutable
Overrides:
setBindingContainer in class DCExecutableBinding

getDataControl

public final DCDataControl getDataControl()
Helper method to return the DCDataControl from this binding's BindingContainer.

initDataControl

protected DCDataControl initDataControl()

fetchAttributeProperties

protected void fetchAttributeProperties()

getValueBindingList

public java.util.ArrayList getValueBindingList()
Returns a list of DCCtrlValueBinding objects that are associated with this iterator binding. Returns null if no control binding is registered with this object.

addValueBinding

public void addValueBinding(DCControlBinding bnd)
Adds the given control binding object to its list.

removeValueBinding

public boolean removeValueBinding(DCControlBinding bnd)
Removes the given control binding object from its list. Returns true if remove was successful.

getActionBindingList

public java.util.ArrayList getActionBindingList()
Returns a list of DCCtrlActionBinding objects that are associated with this iterator binding. Returns null if no action control binding is registered with this object.

addActionBinding

public void addActionBinding(DCControlBinding bnd)
Adds the given action control binding object to its list.

removeCurrentRow

public void removeCurrentRow()

removeActionBinding

public boolean removeActionBinding(DCControlBinding bnd)
Removes the given action control binding object from its list. Returns true if remove was successful.

getLovRowSetIterator

public RowSetIterator getLovRowSetIterator()

release

public void release()

release

public void release(int flags)
Description copied from class: DCExecutableBinding
*** For internal framework use only ***
Specified by:
release in interface DCIExecutable
Overrides:
release in class DCExecutableBinding

processInputException

public void processInputException()
Deprecated. use processInputException(JboException);

processInputException

public void processInputException(JboException errExc)

getError

public JboException getError()

getAttributeDefs

public AttributeDef[] getAttributeDefs()
get all attribute defs for the RSI that this iterator binding is bound to.

getIteratorDefName

public java.lang.String getIteratorDefName()

getAttributeDefs

public AttributeDef[] getAttributeDefs(java.lang.String[] attrNames)
return attribute defs for attributes that are named in the given array. If this array is null, return only those attribute defs that are not marked with control hint of hide. To get all attributes, use DCIteratorBinding.getAttributeDefs()

getRangeSize

public int getRangeSize()
Returns current rowsetiterator's range size

setRangeSize

public void setRangeSize(int val)
Set current rowsetiterator's range size

getRangeStart

public int getRangeStart()
Returns current rowsetiterator's range start

setRangeStart

public void setRangeStart(int val)
Set current rowsetiterator's range start

getCurrentRowIndexInRange

public int getCurrentRowIndexInRange()
Returns current row index in the current Range in the Rowsetiterator

setCurrentRowIndexInRange

public void setCurrentRowIndexInRange(int val)

setCurrentRowWithKeyValue

public void setCurrentRowWithKeyValue(java.lang.String stringKeyValue)
Find the row in the associated row iterator based on the value for a key attribute and if found set that as the current row. This method only works for cases where there's one key attribute on the collection.
Parameters:
stringKeyValue - String form of the Key object created using Key.toStringFormat(true/false)

getCurrentRowWithKeyValue

public java.lang.String getCurrentRowWithKeyValue()
Returns String 10.1.3.1.0 of the row key for the current row in the associated iterator. This key string can be used in setCurrentRowWithKey(). This method will return null if there is no current row in the associated iterator.

getCurrentRowKeyString

public java.lang.String getCurrentRowKeyString()
Returns String 10.1.3.1.0 of the row key for the current row in the associated iterator. This key string can be used in setCurrentRowWithKey(). This method will return null if there is no current row in the associated iterator.

createKey

public Key createKey(java.lang.String stringKey)
Given the key string, convert it to a Key using the associated RowSetIterator's StructureDef.

setCurrentRowWithKey

public void setCurrentRowWithKey(java.lang.String stringKey)
Find the row in the associated row iterator based on the Key object and if found set that as the current row.
Parameters:
stringKey - String form of the Key object created using Key.toStringFormat(true/false)

removeRowWithKey

public void removeRowWithKey(java.lang.String stringKey)
Find a row with the given key in the current row iterator and if one found, remove it. If more than one row is found, throw a TooMayObjectsException. Otherwise this method is a no-op.

setAlive

protected void setAlive(boolean flag)
Internal: Applications should not use this method.

isAlive

public boolean isAlive()
Internal: Applications should not use this method.

isBound

public final boolean isBound()
Internal: Applications should not use this method.

getEstimatedRowCount

public long getEstimatedRowCount()

applySortCriteria

public void applySortCriteria(oracle.jbo.SortCriteria[] sortby)
Sets the sort critiera that will be applied next time when the source for this iteratorBinding is executed.

getSortCriteria

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

isSortable

public boolean isSortable()
Internal: Applications should not use this method.

isAttributeSortable

public boolean isAttributeSortable(AttributeDef ad)
View layer bindings may consult this to find out if an attribute in this iteratorBinding is sortable or not.

isOperationSupported

public boolean isOperationSupported(byte oper)

internalReserveCurrentRow

public void internalReserveCurrentRow()
Internal: Applications should not use this method.

cacheCreatedRow

protected void cacheCreatedRow(RowSetIterator rsi,
                               Row row)

getExecutableType

public int getExecutableType()
Internal: Applications should not use this method.
Specified by:
getExecutableType in interface DCIExecutable
Specified by:
getExecutableType in class DCExecutableBinding

refresh

public void refresh(int id)
Internal: Applications should not use this method.
Specified by:
refresh in interface DCIExecutable

hasRefreshParametersChanged

public boolean hasRefreshParametersChanged()
Description copied from class: DCExecutableBinding
*** For internal framework use only ***
Specified by:
hasRefreshParametersChanged in interface DCIExecutable
Specified by:
hasRefreshParametersChanged in class DCExecutableBinding

getExecutableDef

public oracle.adf.model.binding.DCIExecutableDef getExecutableDef()
Description copied from class: DCExecutableBinding
*** For internal framework use only ***
Specified by:
getExecutableDef in interface DCIExecutable
Overrides:
getExecutableDef in class DCExecutableBinding

internalGet

protected java.lang.Object internalGet(java.lang.String key)
Overrides:
internalGet in class DCExecutableBinding

getPermissionTargetName

public java.lang.String getPermissionTargetName()

disableTokenValidation

protected void disableTokenValidation()
Internal: Applications should not use this method.

Oracle Application Development Framework Model and Business Components Java API Reference 10.1.3.1.0
B28969-01


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