Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 1 (11.1.1.4.0)

E10653-05

oracle.jbo.uicli.binding
Class JUIteratorBinding

java.lang.Object
  extended by java.util.AbstractMap
      extended by oracle.jbo.common.JboAbstractMap
          extended by oracle.adf.model.binding.DCExecutableBinding
              extended by oracle.adf.model.binding.DCIteratorBinding
                  extended by oracle.jbo.uicli.binding.JUIteratorBinding
All Implemented Interfaces:
java.util.EventListener, java.util.Map, DCIExecutable, DataChangeListener, RowNavigationListener, RowSetListener, RowSetManagementListener

public class JUIteratorBinding
extends DCIteratorBinding

JUIteratorBinding is the binding class that interacts with BC4J RowIterator objects to iterate over rows and provide the current row(s) to display to various control bindings. JUIteratorBinding objects are named and uniquely identified by name in a JUFormBinding which acts as a container of iterator bindings. This class handles the events generated from the associated BC4J 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 BC4J iterator and ViewObject.

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

javabean.class
name=JUIteratorBinding

Nested Class Summary
 
Nested classes/interfaces inherited from class oracle.adf.model.binding.DCIteratorBinding
DCIteratorBinding.RenderHintTypes
 
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 java.util.Map
java.util.Map.Entry<K,V>
 
Field Summary
 
Fields inherited from class oracle.adf.model.binding.DCIteratorBinding
mAM, mCreatedRowRef, mDC, mDoNavigation, mRangeSize, mReservedRow, RANGESIZE_DO_NOT_OVERRIDE, RANGESIZE_UNLIMITED, TREE_NODE_PINNED_ITER
 
Fields inherited from class oracle.adf.model.binding.DCExecutableBinding
mInternalGet_KeyResolved, mPermissionInfo
 
Fields inherited from class oracle.jbo.common.JboAbstractMap
MAP_NULL_VALUE
 
Fields inherited from interface oracle.adf.model.binding.DCIExecutable
EXECUTABLE_ACTION, EXECUTABLE_ITERATORBINDING, EXECUTABLE_REGION
 
Constructor Summary
protected JUIteratorBinding()
           
  JUIteratorBinding(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.
  JUIteratorBinding(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.
  JUIteratorBinding(BindingContext ctx, java.lang.String dcName, java.lang.String sourceName, java.lang.String rsiName, int rangeSize)
           
  JUIteratorBinding(DCDataControl dataControl, RowSetIterator rsi)
          When an application has a BC4J RowSet it should use this constructor.
protected JUIteratorBinding(JUIteratorBinding iterBinding)
           
  JUIteratorBinding(RowSetIterator rsi)
          Deprecated. since 9.0.5.1 use constructor with DCDataControl instead.
 
Method Summary
protected  void addDataChangeListener(JUCtrlValueBinding binding)
          Internal: Applications should not use this method.
 void addValueBinding(DCControlBinding bnd)
          Adds the given control binding object to its list.
protected  void cacheCreatedRow(RowSetIterator rsi, Row row)
          *** For internal framework use only ***
 void dataChanged(DataChangeEvent event)
          Internal: Applications should not use this method.
protected  void disableTokenValidation()
          Internal: Applications should not use this method.
protected  AttributeDef findOrCreateSelectionAttributeDef(DCControlBinding binding, java.lang.String baseName, java.lang.String type)
          Internal: Applications should not use this method.
 DCDataControl getApplication()
           
 ApplicationModule getApplicationModule()
          Returns the instance of ApplicationModule in which this iterator binding has an associated iterator.
protected  Row getCurrentRowInternal()
           
 JUFormBinding getFormBinding()
           
 void handleDataException(DataExceptionEvent event)
          Internal: Applications should not use this method.
protected  Row internalGetCurrentRowInBinding()
           
protected  void internalSetDataControl(DCDataControl dc)
           
protected  boolean matchReservedRowWithUpdateEvent(Row row)
           
protected  boolean matchRowKeyWithAttrException(AttrValException ave)
          Internal: Applications should not use this method.
protected  boolean mergeFKsToDCEKeys()
           
 void navigated(NavigationEvent event)
          *** For internal framework use only ***
protected  void notifyUpdateEvent(UpdateEvent event)
          called when rowUpdated event is received from the model.
 void rangeScrolled(ScrollEvent event)
          *** For internal framework use only ***
protected  void refreshControl()
          Internal: Applications should not use this method.
protected  void releaseDataInternal()
          Internal: Applications should not use this method.
protected  void removeDataChangeListener(JUCtrlValueBinding binding)
          Internal: Applications should not use this method.
protected  void reserveRowWithKey(Key key)
          Internal: Applications should not use this method.
 void rowDeleted(DeleteEvent event)
          *** For internal framework use only ***
 void rowInserted(InsertEvent event)
          *** For internal framework use only ***
protected  void setDef(DCIteratorBindingDef def)
          Internal: Applications should not use this method.
 void setFormBinding(JUFormBinding formBnd)
          *** For internal framework use only ***
 void setIteratorBindingDef(DCIteratorBindingDef iterDef)
          Internal: Applications should not use this method. Used in LovButtonBinding to set the def for the Lov Panel's iteratorBinding.
protected  void setSelectionAttribute(int rowIndex, AttributeDef ad, java.lang.Object value)
          Internal: Applications should not use this method.
protected  void updateValuesFromRow(Row row)
          Calls updateValueFromRow() on each instance of JUCtrlValueBinding objects associated with this iterator binding object.
protected  void updateValuesFromRows(Row[] rows, Row row, boolean clear)
          Calls updateValuesFromRows() on each instance of JUCtrlRangeBinding object associated with this iterator binding object.
 
Methods inherited from class oracle.adf.model.binding.DCIteratorBinding
addActionBinding, addDependentListeners, addStateVariableForBinding, allowsRefreshControl, applySortCriteria, bindRowSetIterator, cacheRefOnOperation, callInitSourceRSI, clearForRecreate, createKey, doExecuteQuery, executeQuery, executeQueryIfNeeded, fetchAttributeProperties, findRowByKeyString, findRowsByAttributeValue, findRowsByAttributeValue, findRowsByAttributeValues, findRowsByAttributeValues, findRowsByKeyValues, findRowsByKeyValues, getActionBindingList, getAllRowsInRange, getAttributeDefs, getAttributeDefs, getAttributeDefs, getChangeEventRate, getCurrentRow, getCurrentRowIndexInRange, getCurrentRowKeyString, getCurrentRowWithKeyValue, getDataControl, getDef, getDeferredEstimatedRowCount, getDisplayName, getError, getEstimatedRowCount, getExecutableDef, getExecutableType, getHints, getIteratorDefName, getIteratorSubstitutedDefNames, getLovRowSetIterator, getMasterListener, getNavigatableRowIterator, getPermissionInfo, getPermissionTargetName, getRangeSize, getRangeStart, getRenderHint, getRowAtRangeIndex, getRowKeyString, getRowSetIterator, getSortCriteria, getSourceName, getStateVariableForBinding, getSyncLock, getValueBindingList, getViewCriteria, getViewDefName, getViewObject, getViewObject, getVOName, hasBindingsWithPushChangeEvents, hasKeyAttributes, hasRefreshParametersChanged, hasRSI, initDataControl, initializeForPushDataChangeEvents, initSourceRSI, internalGet, internalGetNextRangeSet, internalGetPreviousRangeSet, internalGetRowIteratorNoCheck, internalGetRowSetIterator, internalGetViewObject, internalInitRangeSize, internalReserveCurrentRow, invalidateCache, isAccessorIterator, isAlive, isAttributeSortable, isBound, isBoundRowIteratorEvent, isFindMode, isFindModeAllowed, isIteratorMadeVisible, isOperationSupported, isReservedRowNotForNode, isRowSetEventsEnabled, isSortable, isSuspendRowSetEventsHandling, iteratorClosed, iteratorReset, needsEstimatedRowCount, prepareCurrentRow, prepareForInput, processInputException, processInputException, rangeRefreshed, refresh, release, release, releaseData, removeActionBinding, removeCurrentRow, removeDependentListeners, removeRowWithKey, removeStateVariableForBinding, removeValueBinding, reportException, resetFindMode, resolveRangeSize, rowUpdated, setAlive, setAllowFindMode, setBindingContainer, setCurrentRowIndexInRange, setCurrentRowWithKey, setCurrentRowWithKeyValue, setDataControl, setFindMode, setFindMode, setIteratorMadeVisible, setRangeSize, setRangeStart, setRefreshed, setRowSetEventsEnabled, suspendRowSetEventsHandling
 
Methods inherited from class oracle.adf.model.binding.DCExecutableBinding
addDependentExecutable, get, getBindingContainer, getDependents, getName, getRefreshExpression, getRefreshOption, isRefreshable, isRefreshed, refreshIfNeeded, removeDependentExecutable, resetDependentsRefresh, setExecutableDef, setName, setRefreshExpression, setRefreshOption, updateName
 
Methods inherited from class oracle.jbo.common.JboAbstractMap
entrySet, equals, hashCode, internalPut, put, setThrowIfPropertyNotFoundOnGet
 
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
 

Constructor Detail

JUIteratorBinding

protected JUIteratorBinding()

JUIteratorBinding

protected JUIteratorBinding(JUIteratorBinding iterBinding)

JUIteratorBinding

public JUIteratorBinding(BindingContext ctx,
                         java.lang.String dcName,
                         java.lang.String sourceName,
                         java.lang.String rsiName,
                         int rangeSize)

JUIteratorBinding

public JUIteratorBinding(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 JUCtrlRangeBinding may use this constructor to specify a default range size for the iterator.


JUIteratorBinding

public JUIteratorBinding(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.


JUIteratorBinding

public JUIteratorBinding(RowSetIterator rsi)
Deprecated. since 9.0.5.1 use constructor with DCDataControl instead.

When an application has a BC4J RowSet it should use this constructor.


JUIteratorBinding

public JUIteratorBinding(DCDataControl dataControl,
                         RowSetIterator rsi)
When an application has a BC4J RowSet it should use this constructor.

Method Detail

getApplication

public DCDataControl getApplication()
javabean.property

setFormBinding

public void setFormBinding(JUFormBinding formBnd)
*** For internal framework use only ***


getFormBinding

public JUFormBinding getFormBinding()
javabean.property

addValueBinding

public void addValueBinding(DCControlBinding bnd)
Description copied from class: DCIteratorBinding
Adds the given control binding object to its list.

Overrides:
addValueBinding in class DCIteratorBinding

rangeScrolled

public void rangeScrolled(ScrollEvent event)
*** For internal framework use only ***

This method invokes updateRangeScrolled method on all instances of JUCtrlRangeBinding objects associated with this iterator binding, to notify them of the change in current range of rows.

Specified by:
rangeScrolled in interface RowSetListener
Overrides:
rangeScrolled in class DCIteratorBinding
Parameters:
event - a description of the new range.

rowInserted

public void rowInserted(InsertEvent event)
*** For internal framework use only ***

If range size of this iterator binding is not 1, this method invokes updateRowInserted method on all instances of JUCtrlValueBinding objects associated with this iterator binding, to notify them of the newly inserted row.

Specified by:
rowInserted in interface RowSetListener
Overrides:
rowInserted in class DCIteratorBinding
Parameters:
event - a description of the new Row object.

rowDeleted

public void rowDeleted(DeleteEvent event)
*** For internal framework use only ***

If range size of this iterator binding is not 1, this method invokes updateRowDeleted method on all instances of JUCtrlValueBinding 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
Overrides:
rowDeleted in class DCIteratorBinding
Parameters:
event - a description of the deleted Row object.

navigated

public void navigated(NavigationEvent event)
*** For internal framework use only ***

Calls updateNavigated() for all JUCtrlRangeBinding 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 RowNavigationListener
Specified by:
navigated in interface RowSetListener
Overrides:
navigated in class DCIteratorBinding
Parameters:
event - a description of the new and previous current rows.

updateValuesFromRows

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

Specified by:
updateValuesFromRows in class DCIteratorBinding

notifyUpdateEvent

protected void notifyUpdateEvent(UpdateEvent event)
Description copied from class: DCIteratorBinding
called when rowUpdated event is received from the model.

Specified by:
notifyUpdateEvent in class DCIteratorBinding

updateValuesFromRow

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

Specified by:
updateValuesFromRow in class DCIteratorBinding

getApplicationModule

public ApplicationModule getApplicationModule()
Returns the instance of ApplicationModule in which this iterator binding has an associated iterator. Returns null for non-bc4j bound DataControls

Overrides:
getApplicationModule in class DCIteratorBinding
javabean.property

setIteratorBindingDef

public void setIteratorBindingDef(DCIteratorBindingDef iterDef)
Internal: Applications should not use this method. Used in LovButtonBinding to set the def for the Lov Panel's iteratorBinding.


cacheCreatedRow

protected void cacheCreatedRow(RowSetIterator rsi,
                               Row row)
*** For internal framework use only ***

Overrides:
cacheCreatedRow in class DCIteratorBinding

releaseDataInternal

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

Overrides:
releaseDataInternal in class DCIteratorBinding
For internal use only. Application developers should not use this

refreshControl

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

Overrides:
refreshControl in class DCIteratorBinding
For internal use only. Application developers should not use this

reserveRowWithKey

protected void reserveRowWithKey(Key key)
Internal: Applications should not use this method.

Overrides:
reserveRowWithKey in class DCIteratorBinding
For internal use only. Application developers should not use this

matchRowKeyWithAttrException

protected boolean matchRowKeyWithAttrException(AttrValException ave)
Internal: Applications should not use this method.

Overrides:
matchRowKeyWithAttrException in class DCIteratorBinding
For internal use only. Application developers should not use this

internalGetCurrentRowInBinding

protected Row internalGetCurrentRowInBinding()
Overrides:
internalGetCurrentRowInBinding in class DCIteratorBinding
For internal use only. Application developers should not use this
*** For internal framework use only ***

getCurrentRowInternal

protected Row getCurrentRowInternal()
Overrides:
getCurrentRowInternal in class DCIteratorBinding
For internal use only. Application developers should not use this
*** For internal framework use only ***

internalSetDataControl

protected void internalSetDataControl(DCDataControl dc)
Overrides:
internalSetDataControl in class DCIteratorBinding
For internal use only. Application developers should not use this
*** For internal framework use only ***

setDef

protected void setDef(DCIteratorBindingDef def)
Internal: Applications should not use this method.

Overrides:
setDef in class DCIteratorBinding
For internal use only. Application developers should not use this

disableTokenValidation

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

Overrides:
disableTokenValidation in class DCIteratorBinding
For internal use only. Application developers should not use this

findOrCreateSelectionAttributeDef

protected AttributeDef findOrCreateSelectionAttributeDef(DCControlBinding binding,
                                                         java.lang.String baseName,
                                                         java.lang.String type)
Internal: Applications should not use this method.

Overrides:
findOrCreateSelectionAttributeDef in class DCIteratorBinding
For internal use only. Application developers should not use this

setSelectionAttribute

protected void setSelectionAttribute(int rowIndex,
                                     AttributeDef ad,
                                     java.lang.Object value)
Internal: Applications should not use this method.

Overrides:
setSelectionAttribute in class DCIteratorBinding
For internal use only. Application developers should not use this

handleDataException

public void handleDataException(DataExceptionEvent event)
Internal: Applications should not use this method.

For internal use only. Application developers should not use this

dataChanged

public void dataChanged(DataChangeEvent event)
Internal: Applications should not use this method.

Specified by:
dataChanged in interface DataChangeListener
Specified by:
dataChanged in class DCIteratorBinding
For internal use only. Application developers should not use this

mergeFKsToDCEKeys

protected boolean mergeFKsToDCEKeys()
Overrides:
mergeFKsToDCEKeys in class DCIteratorBinding

addDataChangeListener

protected void addDataChangeListener(JUCtrlValueBinding binding)
Internal: Applications should not use this method.

Overrides:
addDataChangeListener in class DCIteratorBinding
For internal use only. Application developers should not use this

removeDataChangeListener

protected void removeDataChangeListener(JUCtrlValueBinding binding)
Internal: Applications should not use this method.

Overrides:
removeDataChangeListener in class DCIteratorBinding
For internal use only. Application developers should not use this

matchReservedRowWithUpdateEvent

protected boolean matchReservedRowWithUpdateEvent(Row row)
Overrides:
matchReservedRowWithUpdateEvent in class DCIteratorBinding

Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 1 (11.1.1.4.0)

E10653-05

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