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

E10653-08

oracle.jbo.common.ws
Class WSRowSetIteratorImpl

java.lang.Object
  extended by java.util.AbstractMap
      extended by oracle.jbo.common.JboAbstractMap
          extended by oracle.jbo.common.ws.WSObject
              extended by oracle.jbo.common.ws.WSAMComponent
                  extended by oracle.jbo.common.ws.WSRowSetIteratorBase
                      extended by oracle.jbo.common.ws.WSRowSetIteratorImpl
All Implemented Interfaces:
java.io.Serializable, java.util.Map, ExprWrappable, NavigatableRowIterator, RowIterator, RowSetIterator, VariableManagerOwner, VariableManagerOwnerBase

public class WSRowSetIteratorImpl
extends WSRowSetIteratorBase
implements RowSetIterator, java.io.Serializable

See Also:
Serialized Form

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 java.util.Map
java.util.Map.Entry<K,V>
 
Field Summary
 
Fields inherited from class oracle.jbo.common.ws.WSRowSetIteratorBase
mListeners, mMgmtListeners, mName
 
Fields inherited from class oracle.jbo.common.ws.WSObject
mVariableOpers
 
Fields inherited from class oracle.jbo.common.JboAbstractMap
MAP_NULL_VALUE
 
Fields inherited from interface oracle.jbo.RowIterator
ITER_MODE_LAST_PAGE_FULL, ITER_MODE_LAST_PAGE_PARTIAL, SLOT_BEFORE_FIRST, SLOT_BEYOND_LAST, SLOT_DELETED, SLOT_VALID
 
Method Summary
 void closeRowSetIterator()
          Closes this row set iterator.
 RowSet createDetailRowSet(java.lang.String rsName, java.lang.String linkDefName)
          Creates a detail Row Set.
 ApplicationModule getApplicationModule()
           
 RowSet[] getDetailRowSets()
          Gets an array of detail Row Sets for which this Iterator is the master.
 java.lang.Object getImplObject()
           
 int getIterMode()
          Gets the current iteration mode.
 WSObject getParent()
           
 int getRangeSize()
          Gets the size of the Row Set Iterator range.
 int getRangeStart()
          Gets the absolute row index of the first row in the Row Set Iterator range.
 RowSet getRowSet()
          Gets the Row Set that this Iterator belongs to.
 RowSetIterator getRowSetIteratorImpl()
           
 java.lang.Object getSyncLock()
          Gets the locking object for this Row Set Iterator.
 boolean isOnLine()
           
 boolean isRowValidation()
          Gets the validation flag on this iterator.
 boolean isSyncIteratorState()
           
 void markForError(java.lang.Exception ex, boolean hasImplObject)
           
 int scrollRange(int amount)
          Moves the Row Set Iterator range up or down a given number of rows.
 int scrollRangeTo(Row row, int index)
          Scrolls the range to place a given row at a given range index.
 void setImplObject(java.lang.Object o)
           
 void setIterMode(int mode)
          Sets the iteration mode for this Row Iterator.
 int setRangeSize(int size)
          Modifies the size of the Row Set Iterator range.
 int setRangeStart(int start)
          Moves the Row Set Iterator range.
 void setRowValidation(boolean flag)
          Sets the validation flag on this iterator.
 
Methods inherited from class oracle.jbo.common.ws.WSRowSetIteratorBase
addListener, addManagementListener, createAndInitRow, createKey, createRow, enumerateRowsInRange, findAndSetCurrentRowByKey, findByAltKey, findByEntity, findByKey, findByViewCriteria, first, getAllRowsInRange, getCurrentRow, getCurrentRowIndex, getCurrentRowSlot, getEstimatedRangePageCount, getFetchedRowCount, getFilteredRows, getFilteredRowsInRange, getName, getNextRangeSet, getPreviousRangeSet, getRangeIndexOf, getRow, getRowAtRangeIndex, getRowCount, getRowCountInRange, hasNext, hasPrevious, insertRow, insertRowAtRangeIndex, isConnected, isNameGenerated, isRangeAtBottom, isRangeAtTop, last, next, previous, registerWSListeners, removeCurrentRow, removeCurrentRowAndRetain, removeCurrentRowFromCollection, removeListener, removeManagementListener, reset, scrollToRangePage, setCurrentRow, setCurrentRowAtRangeIndex
 
Methods inherited from class oracle.jbo.common.ws.WSAMComponent
getMessageBundleClass, getResourceBundleDef
 
Methods inherited from class oracle.jbo.common.ws.WSObject
closeObject, ensureVariableManager, get, getFullName, getId, getImageLoc, getVariableManager, hasVariables, isReadOnly, setName
 
Methods inherited from class oracle.jbo.common.JboAbstractMap
entrySet, equals, hashCode, internalGet, 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
 
Methods inherited from interface oracle.jbo.RowSetIterator
addManagementListener, getEstimatedRangePageCount, getFilteredRows, getFilteredRowsInRange, getName, getNextRangeSet, getPreviousRangeSet, isNameGenerated, removeManagementListener, scrollToRangePage
 
Methods inherited from interface oracle.jbo.NavigatableRowIterator
addListener, removeListener
 
Methods inherited from interface oracle.jbo.RowIterator
createAndInitRow, createKey, createRow, enumerateRowsInRange, findByAltKey, findByEntity, findByKey, findByViewCriteria, first, getAllRowsInRange, getCurrentRow, getCurrentRowIndex, getCurrentRowSlot, getFetchedRowCount, getRangeIndexOf, getRow, getRowAtRangeIndex, getRowCount, getRowCountInRange, hasNext, hasPrevious, insertRow, insertRowAtRangeIndex, isRangeAtBottom, isRangeAtTop, last, next, previous, removeCurrentRow, removeCurrentRowAndRetain, removeCurrentRowFromCollection, reset, setCurrentRow, setCurrentRowAtRangeIndex
 
Methods inherited from interface oracle.jbo.VariableManagerOwnerBase
ensureVariableManager, getMessageBundleClass, getResourceBundleDef, getVariableManager, hasVariables
 

Method Detail

isOnLine

public boolean isOnLine()

getParent

public WSObject getParent()
Specified by:
getParent in class WSObject

getRowSetIteratorImpl

public RowSetIterator getRowSetIteratorImpl()

getImplObject

public java.lang.Object getImplObject()
Specified by:
getImplObject in class WSObject

setImplObject

public void setImplObject(java.lang.Object o)
Specified by:
setImplObject in class WSObject

markForError

public void markForError(java.lang.Exception ex,
                         boolean hasImplObject)
Specified by:
markForError in class WSObject

getApplicationModule

public ApplicationModule getApplicationModule()

isSyncIteratorState

public boolean isSyncIteratorState()

getRowSet

public RowSet getRowSet()
Description copied from interface: RowSetIterator
Gets the Row Set that this Iterator belongs to.

Specified by:
getRowSet in interface RowSetIterator
Specified by:
getRowSet in class WSRowSetIteratorBase
Returns:
the owning Row Set.

getDetailRowSets

public RowSet[] getDetailRowSets()
Description copied from interface: RowSetIterator
Gets an array of detail Row Sets for which this Iterator is the master.

In a master-detail relationship in an Application Module, the master in reality is a Row Set Iterator. (Though we often speak of master View Object, in reality, it is the Iterator behind the View Object which is playing the role of the master). Whenever the currency of this master Iterator moves, the detail Row Sets are re-executed to show related Rows.

Calling this method returns an array of Row Sets that are related to this Iterator as detail Row Sets.

Specified by:
getDetailRowSets in interface RowSetIterator
Specified by:
getDetailRowSets in class WSRowSetIteratorBase
Returns:
an array of detail RowSet.

createDetailRowSet

public RowSet createDetailRowSet(java.lang.String rsName,
                                 java.lang.String linkDefName)
Description copied from interface: RowSetIterator
Creates a detail Row Set. See RowSetIterator.getDetailRowSets() for explanation of detail Row Sets.

This method creates a new detail Row Set for this Iterator.

Specified by:
createDetailRowSet in interface RowSetIterator
Specified by:
createDetailRowSet in class WSRowSetIteratorBase
Parameters:
rsName - the name of the new detail Row Set.
linkDefName - the name of a View Link definition. This View Link chooses the relationship in which this Iterator is the master and the new Row Set is the detail. It must be a fully qualified name (including the package name).
Returns:
the new detail Row Set.

closeRowSetIterator

public void closeRowSetIterator()
Description copied from interface: RowSetIterator
Closes this row set iterator. If this row set iterator is a master in a master-detail relationship, closeRowSetIterator closes all detail row sets.

After that, it fires a RowSetManagementListener.iteratorClosed() event to its RowSetManagementListener's.

Then, it deregisters this row set iterator from the owning row set, and deregisters all its listeners.

Specified by:
closeRowSetIterator in interface RowSetIterator
Specified by:
closeRowSetIterator in class WSRowSetIteratorBase

getSyncLock

public java.lang.Object getSyncLock()
Description copied from interface: RowSetIterator
Gets the locking object for this Row Set Iterator. Actually, this method locks the Application Module to which this Row Set Iterator belongs. See ApplicationModule.getSyncLock() for details.

Specified by:
getSyncLock in interface RowSetIterator
Specified by:
getSyncLock in class WSRowSetIteratorBase
Returns:
the locking object.

setRangeSize

public int setRangeSize(int size)
Description copied from interface: RowIterator
Modifies the size of the Row Set Iterator range.

This method takes effect when the next set of data is fetched. For an example usage of setRangeSize, see setRangeStart.

Specified by:
setRangeSize in interface RowIterator
Specified by:
setRangeSize in class WSRowSetIteratorBase
Parameters:
size - the new number of rows in the iterator range. Size of 0 is treated same as 1. Size < -1 is treated same as -1.
Returns:
the new size of the range.
See Also:
RowIterator.setRangeStart(int)

getRangeSize

public int getRangeSize()
Description copied from interface: RowIterator
Gets the size of the Row Set Iterator range.

Specified by:
getRangeSize in interface RowIterator
Specified by:
getRangeSize in class WSRowSetIteratorBase
Returns:
the number of rows in the range.

getRangeStart

public int getRangeStart()
Description copied from interface: RowIterator
Gets the absolute row index of the first row in the Row Set Iterator range.

The absolute index is 0-based, and is the row's index relative to the entire result set.

Specified by:
getRangeStart in interface RowIterator
Specified by:
getRangeStart in class WSRowSetIteratorBase
Returns:
an index.

setRangeStart

public int setRangeStart(int start)
Description copied from interface: RowIterator
Moves the Row Set Iterator range.

Note that the index is 0-based. When you call setRangeStart(1), the range start will be positioned at the second table row.

Another behavior of setRangeStart (and also setRangeSize) is that it tries to position the range, so as to fill up the range as much as possible. For example, assume you have View Object vo focused on a table with four rows (A, B, C, D), and you execute the following code:

     vo.setRangeStart(4);
     vo.setRangeSize(3);
     Row[] rows = vo.getAllRowsInRange();
 

In this case, rows contains the last 3 rows (B, C, D). When you call setRangeStart(4), it will try to position you at row 4. Since the index is 0-based, it finds that there is no row. Since the default range size is 1, it will position you to the last row (row index 3).

Then, when you call getRangeSize(3), it tries to fill up the range from the bottom. This is why you get (B, C, D).

Specified by:
setRangeStart in interface RowIterator
Specified by:
setRangeStart in class WSRowSetIteratorBase
Parameters:
start - the absolute index of the new first row in the Row Set Iterator range.

scrollRange

public int scrollRange(int amount)
Description copied from interface: RowIterator
Moves the Row Set Iterator range up or down a given number of rows.

Specified by:
scrollRange in interface RowIterator
Specified by:
scrollRange in class WSRowSetIteratorBase
Parameters:
amount - the number of rows to scroll. A negative value scrolls upward.
Returns:
the number of rows actually scrolled.

scrollRangeTo

public int scrollRangeTo(Row row,
                         int index)
Description copied from interface: RowIterator
Scrolls the range to place a given row at a given range index.

Specified by:
scrollRangeTo in interface RowIterator
Specified by:
scrollRangeTo in class WSRowSetIteratorBase
Parameters:
row - the row.
index - the range index at which the row is to be found.
Returns:
the actual number of rows scrolled. A negative number indicates that the scroll was scrolled upward.

setRowValidation

public void setRowValidation(boolean flag)
Description copied from interface: RowIterator
Sets the validation flag on this iterator. By default a RowIterator validates the current row when navigating to another row. This method can be used to turn this row-validation off by passing 'false' as parameter.

Specified by:
setRowValidation in interface RowIterator
Specified by:
setRowValidation in class WSRowSetIteratorBase
Parameters:
flag - Whether to turn row validation off or not.

isRowValidation

public boolean isRowValidation()
Description copied from interface: RowIterator
Gets the validation flag on this iterator. By default a RowIterator validates the current row when navigating to another row. This method returns TRUE if this row-validation is turned off.

Specified by:
isRowValidation in interface RowIterator
Specified by:
isRowValidation in class WSRowSetIteratorBase

getIterMode

public int getIterMode()
Description copied from interface: RowIterator
Gets the current iteration mode. See Iteration Modes above for details on iteration mode which controls how the range behaves when it reaches the end of the Row Set.

Specified by:
getIterMode in interface RowIterator
Specified by:
getIterMode in class WSRowSetIteratorBase
Returns:
ITER_MODE_LAST_PAGE_PARTIAL if the iteration mode is "partial-last-page", ITER_MODE_LAST_PAGE_FULL if it is "full-last-page".

setIterMode

public void setIterMode(int mode)
Description copied from interface: RowIterator
Sets the iteration mode for this Row Iterator. See Iteration Modes above for details on iteration mode which controls how the range behaves when it reaches the end of the Row Set.

Specified by:
setIterMode in interface RowIterator
Specified by:
setIterMode in class WSRowSetIteratorBase
Parameters:
mode - should be ITER_MODE_LAST_PAGE_PARTIAL if the iteration mode is to be "partial-last-page", ITER_MODE_LAST_PAGE_FULL if it is to be "full-last-page".

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

E10653-08

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