Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 2 (11.1.2.3.0)

E17483-04


oracle.adf.model.generic
Class DCRowSetIteratorImpl

java.lang.Object
  extended by oracle.jbo.common.PropertiesHelper
      extended by oracle.jbo.common.RowSetHelper
          extended by oracle.adf.model.generic.DCRowSetIteratorImpl

All Implemented Interfaces:
java.io.Serializable, ExprWrappable, NavigatableRowIterator, Properties, RowIterator, RowSetIterator, VariableManagerOwner, VariableManagerOwnerBase
Direct Known Subclasses:
DCGenericRowSetIteratorImpl

public class DCRowSetIteratorImpl
extends RowSetHelper
implements RowSetIterator
See Also:
Serialized Form

Field Summary
protected  java.util.List dataRows
           
protected  java.lang.String mAccessorName
           
protected  DCDataControl mApp
           
protected  Row mCurrentRow
           
protected  java.lang.Object mProvider
           
protected  java.util.Iterator mProviderIter
           
protected  StructureDef mStructureDef
           
protected  java.util.List orgDataRows
           
static int REQ_FIRST
           
static int REQ_LAST
           
static int REQ_NEXT
           
static int REQ_PREVIOUS
           

 

Fields inherited from class oracle.jbo.common.RowSetHelper
listeners, mMgmtListeners, mName

 

Fields inherited from class oracle.jbo.common.PropertiesHelper
mProperties

 

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

 

Constructor Summary
protected DCRowSetIteratorImpl(DCDataControl dc, java.util.Collection coll, java.lang.String name)
           
protected DCRowSetIteratorImpl(DCDataControl dc, java.util.Iterator iter, java.lang.String name)
           
protected DCRowSetIteratorImpl(DCDataControl dc, java.lang.Object data, java.lang.String name)
           
  DCRowSetIteratorImpl(DCDataControl dc, java.lang.Object data, java.lang.String name, StructureDef def)
           

 

Method Summary
 void clearCurrentData()
          for internal framework use only.
 void closeRowSetIterator()
          Closes this row set iterator.
protected  boolean containsRow(Row row)
           
 Row createAndInitRow(AttributeList nvp)
          Creates and initializes a new Row object, but does not insert it into the Row Set.
 RowSet createDetailRowSet(java.lang.String rsName, java.lang.String linkDefName)
          Create a row set for the view link.
protected  RowSetIterator createFilteredRowSetIterator(java.lang.Object data)
          Create and return an equivalent RowSetIterator with data containing rows from this same RSI filtered via a criteria.
 Key createKey(AttributeList nvp)
          Given a list of name-value pairs, creates a Key object that matches the key structure for the ViewObject for this RowItertor.
 Key createKey(java.lang.String stringifiedKey)
           
 Row createRow()
          Creates a new Row object, but does not insert it into the Row Set.
protected  RowSetIterator createRowSetIterator(java.lang.String name)
           
 VariableValueManager ensureVariableManager()
          Returns this object's Variable Value Manager.
 java.util.Enumeration enumerateRowsInRange()
          Gets an Enumeration of all rows in the Row Set.
protected  java.lang.Object fetchProvider()
           
 RowIterator findByAltKey(java.lang.String keyName, Key key, int maxNumOfRows, boolean skipWhere)
          Same as RowIterator.findByKey(Key, int) with a few extra functionalities.
 Row[] findByEntity(int eRowHandle, int maxNumOfRows)
          Finds and returns View rows that use the Entity row, identified by the Entity row handle, eRowHandle.
 Row[] findByKey(Key key, int maxNumOfRows)
          Finds and returns View rows that match the specified key.
 RowIterator findByViewCriteria(ViewCriteria criteria, int maxNumOfRows, int queryMode)
          Finds and returns View rows that match the specified View Criteria.
 RowIterator findRowsByAttributeValues(java.lang.String[] attrNames, java.lang.Object[] values)
          Advanced internal for framework use only
 Row first()
          Gets the first row in the iterator.
 java.lang.String getAccessorName()
           
 Row[] getAllRowsInRange()
          Extracts the rows in the range.
 Row getCurrentRow()
          Accesses the current row.
 int getCurrentRowIndex()
          Gets the absolute index (not range index) of the current row.
 int getCurrentRowSlot()
          Gets the slot status of the current row.
protected  DCDataControl getDataControl()
           
 java.lang.Object getDataProvider()
           
 RowSet[] getDetailRowSets()
          Get all detail row sets.
 int getEstimatedRangePageCount()
          Returns getEstimatedRowCount()/rangePageSize, if rangeSize > 0.
 int getFetchedRowCount()
          Counts the number of rows fetched from database into the Row Set collection up to this point.
 Row[] getFilteredRows(java.lang.String attrName, java.lang.Object attrValue)
          Returns all rows in this collection whose attribute value matches the value being passed in attrValue.
 Row[] getFilteredRowsInRange(java.lang.String attrName, java.lang.Object attrValue)
          Returns all rows in this range whose attribute value matches the value being passed in attrValue.
 int getIterMode()
          Gets the current iteration mode.
 java.util.ArrayList getListenersList()
          Advanced internal for framework use only
protected  java.lang.Object getMasterRowDataProvider()
           
 java.lang.Class getMessageBundleClass()
          Internal: Applications should not use this method.
 java.lang.String getName()
          Gets the name of the Iterator.
 Row[] getNextRangeSet()
          Gets the next set of rows in the range.
 Row[] getPreviousRangeSet()
          Gets the previous set of rows in the range.
 java.util.Hashtable getProperties()
          Gets the table of properties.
 java.lang.String getProviderMethodResultName()
           
 int getProviderMethodResultUseCount()
           
 int getRangeIndexOf(Row row)
          Get the index of the given row relative to the beginning of the range.
 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.
 ResourceBundleDef getResourceBundleDef()
           
 Row getRow(Key key)
          Returns the first row whose key matches key.
 Row getRowAtRangeIndex(int rangeIndex)
          Accesses a row through its range index.
 int getRowCount()
          Counts the total number of rows in the Row Set.
 int getRowCountInRange()
          Gets the size of the Row Set Iterator range.
 RowSet getRowSet()
          Gets the Row Set that this Iterator belongs to.
 RowSetIterator getRowSetIterator()
           
 StructureDef getStructureDef()
           
 java.lang.Object getSyncLock()
          Gets the locking object for this Row Set Iterator.
 VariableValueManager getVariableManager()
          Returns this object's current Variable Value Manager.
 boolean hasNext()
          Tests for the existence of a row after the current row.
 boolean hasPrevious()
          Tests for the existence of a row before the current row.
 boolean hasVariables()
          Returns a flag indicating whether this object has Variables or not.
 void insertRow(Row row)
          Inserts a row to the Row Set, before the current row.
 void insertRowAtRangeIndex(int rangeIndex, Row row)
          Inserts a row to the Row Set at the given range index.
protected  Row internalCreateRowInstanceFor(java.lang.Object rowData)
           
 boolean isNameGenerated()
          Tests if the Iterator's name was generated by the system.
 boolean isRangeAtBottom()
          Tests if the Row Set Iterator range is at the end of the result set.
 boolean isRangeAtTop()
          Tests if the Row Set Iterator range is at the beginning of the result set.
 boolean isRowValidation()
          Gets the validation flag on this iterator.
protected  boolean isSortable()
           
 Row last()
          Gets the last row in the iterator.
 Row next()
          Gets the next row in the iterator.
protected  void notifyNavigationEvent(Row srcRow, Row dstRow)
           
 void notifyRangeRefreshed(int rangeStart)
           
 Row previous()
          Gets the previous row in the iterator.
 void rebuildIteratorUpto(int index)
          Creates a new Iterator over the dataSource (if the datasource itself is not an Iterator) and resets the currency to the given index.
 void removeCurrentRow()
          Removes the current Row object from the Row Set.
 Row removeCurrentRowAndRetain()
          Removes the current Row object from the collection and retain it for insertion into another location.
 void removeCurrentRowFromCollection()
          Removes the current Row object from the collection.
 void reset()
          Moves the currency to the slot before the first row.
 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.
 int scrollToRangePage(int pageIndex)
          Moves the row set range start to the given page index where every page consists of RangeSize number of rows.
 void setAccessorName(java.lang.String accName)
           
protected  void setAttributeValue(RowImpl row, java.lang.String accName, java.lang.Object value)
           
 boolean setCurrentRow(Row row)
          Designates a given row as the current row.
 boolean setCurrentRowAtRangeIndex(int rangeIndex)
          Designates a given index as the current row.
 void setIterMode(int mode)
          Sets the iteration mode for this Row Iterator.
 void setProviderMethodResultName(java.lang.String name)
           
 void setProviderMethodResultUseCount(int count)
           
 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.
protected  int syncIterator(int index)
           
protected  boolean useListAdapter()
          Let a subclass decide if the ListAdapter should be used to avoid creating an iterator over the original list.

 

Methods inherited from class oracle.jbo.common.RowSetHelper
addListener, addManagementListener, fireMgmtIteratorClosed, fireMgmtIteratorReset, fireNavigationEvent, fireRangeRefreshed, fireRangeScrolled, fireRowDeleted, fireRowInserted, fireRowUpdated, getListeners, getManagementListenersList, hasListeners, hasManagementListeners, removeListener, removeManagementListener, setName, updateNamedWhereParamValues

 

Methods inherited from class oracle.jbo.common.PropertiesHelper
closeObject, getImageLoc, getProperty, getProperty, isReadOnly, refreshProperties, refreshProperty, setProperty

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Methods inherited from interface oracle.jbo.RowSetIterator
addManagementListener, removeManagementListener

 

Methods inherited from interface oracle.jbo.NavigatableRowIterator
addListener, removeListener

 

Field Detail

mApp

protected DCDataControl mApp

dataRows

protected java.util.List dataRows

orgDataRows

protected java.util.List orgDataRows

mProvider

protected java.lang.Object mProvider

mProviderIter

protected java.util.Iterator mProviderIter

mStructureDef

protected StructureDef mStructureDef

mAccessorName

protected java.lang.String mAccessorName

mCurrentRow

protected Row mCurrentRow

REQ_FIRST

public static final int REQ_FIRST
See Also:
Constant Field Values

REQ_PREVIOUS

public static final int REQ_PREVIOUS
See Also:
Constant Field Values

REQ_NEXT

public static final int REQ_NEXT
See Also:
Constant Field Values

REQ_LAST

public static final int REQ_LAST
See Also:
Constant Field Values

Constructor Detail

DCRowSetIteratorImpl

protected DCRowSetIteratorImpl(DCDataControl dc,
                               java.util.Collection coll,
                               java.lang.String name)

DCRowSetIteratorImpl

protected DCRowSetIteratorImpl(DCDataControl dc,
                               java.util.Iterator iter,
                               java.lang.String name)

DCRowSetIteratorImpl

protected DCRowSetIteratorImpl(DCDataControl dc,
                               java.lang.Object data,
                               java.lang.String name)

DCRowSetIteratorImpl

public DCRowSetIteratorImpl(DCDataControl dc,
                            java.lang.Object data,
                            java.lang.String name,
                            StructureDef def)

Method Detail

getSyncLock

public final 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
Returns:
the locking object.

getName

public java.lang.String getName()
Description copied from interface: RowSetIterator
Gets the name of the Iterator. If this Row Set Iterator is the default iterator of the Row Set, then the Iterator's name by default is the same as the Row Set name. For a secondary (non-default) Iterator of the Row Set, the name is assigned when the Row Set Iterator is created. See RowSet.createRowSetIterator(String) for more info.
Specified by:
getName in interface RowSetIterator
Specified by:
getName in interface VariableManagerOwner
Overrides:
getName in class RowSetHelper
Returns:
the Row Set Iterator name.

getDataControl

protected DCDataControl getDataControl()

rebuildIteratorUpto

public void rebuildIteratorUpto(int index)
Creates a new Iterator over the dataSource (if the datasource itself is not an Iterator) and resets the currency to the given index.

setProviderMethodResultName

public final void setProviderMethodResultName(java.lang.String name)

getProviderMethodResultName

public final java.lang.String getProviderMethodResultName()

setProviderMethodResultUseCount

public final void setProviderMethodResultUseCount(int count)

getProviderMethodResultUseCount

public final int getProviderMethodResultUseCount()

setAccessorName

public final void setAccessorName(java.lang.String accName)

getAccessorName

public final java.lang.String getAccessorName()

syncIterator

protected int syncIterator(int index)

fetchProvider

protected java.lang.Object fetchProvider()

clearCurrentData

public void clearCurrentData()
for internal framework use only. Cleans the current data and rests this iterator. Next call to fetch data will attempt to re-execute the data provider.

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

getRowSet

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

getDataProvider

public java.lang.Object getDataProvider()

getRowSetIterator

public RowSetIterator getRowSetIterator()

next

public Row next()
Description copied from interface: RowIterator
Gets the next row in the iterator. If next() is called on an iterator whose Row Set has not yet been RowSet.executeQuery()'ed, the Row Set's query is executed. Thus, the user does not need to call executeQuery() himself before calling next(). We refer to this as implicit query execution or implicit Row Set execution.

Before moving to the next row, next() validates the current row (if the iterator has a current row) through a call to Row.validate().

If the currency is on the last row of the range and next() is called, the range is scolled down by one row to bring the next row into the visible range. In particular, if the range size is 1, next() scrolls the range down by 1 row.

When this method is called, the current row of the iterator may be outside the range. (Note that the current row does not have to be within the range.) If so, next() will scroll the range, so that the row that will be the current row at the conclusion of this method will be positioned in the middle of the range.

If the iterator is just opened or reset (see RowIterator.reset()), next() will return the first row if one exists. In this situation, next() is functionally equivalent to RowIterator.first().

If the iterator is at the last row of the Row Set, next() push the currency into the imaginary slot after the last row. This will set the current slot status to SLOT_BEYOND_LAST.

When the next row is required, a check is made to see if the row has already been brought into the collection. If not, the row is fetched from database. Note that the View Object's fetch mode affects how rows are fetched from database into the collection. See ViewObjectImpl.getFetchMode() for details.

If successful, this method designates the next row as the current row (the currency finally moves).

This method generates events to notify the changes to the iterator. If scrolling occurs because of conditions described above, a ScrollEvent will be sent to RowSetListener.rangeScrolled(oracle.jbo.ScrollEvent). To pick up such an event, the listener object must implement the RowSetListener interface. Further, this listener must be registered through a call to NavigatableRowIterator.addListener(Object) (the listener object passed in as the parameter to addListener).

If the currency is changed, it generates a NavigationEvent and sends it to RowSetListener.navigated(oracle.jbo.NavigationEvent).

Specified by:
next in interface RowIterator
Returns:
the next Row object, or null if there is no next row.

previous

public Row previous()
Description copied from interface: RowIterator
Gets the previous row in the iterator. If previous() is called on an iterator whose Row Set has not yet been RowSet.executeQuery()'ed, the Row Set's query is executed. Thus, the user does not need to call executeQuery() himself before calling previous(). We refer to this as implicit query execution or implicit Row Set execution.

Before moving to the previous row, previous() validates the current row (if the iterator has a current row) through a call to Row.validate().

If the currency is on the first row of the range and previous() is called, the range is scolled up by one row to bring the previous row into the visible range. In particular, if the range size is 1, previous() scrolls the range up by 1 row.

When this method is called, the current row of the iterator may be outside the range. (Note that the current row does not have to be within the range.) If so, previous() will scroll the range, so that the row that will be the current row at the conclusion of this method will be positioned in the middle of the range.

If the iterator is just opened or reset (see RowIterator.reset()), previous() will null as the currency is already on the imaginary slot before the first row.

If the iterator is at the first row of the Row Set, previous() push the currency into the imaginary slot before the first row. This will set the current slot status to SLOT_BEFORE_FIRST.

If successful, this method designates the previous row as the current row (the currency finally moves).

This method generates events to notify the changes to the iterator. If scrolling occurs because of conditions described above, a ScrollEvent will be sent to RowSetListener.rangeScrolled(oracle.jbo.ScrollEvent). To pick up such an event, the listener object must implement the RowSetListener interface. Further, this listener must be registered through a call to NavigatableRowIterator.addListener(Object) (the listener object passed in as the parameter to addListener).

If the currency is changed, it generates a NavigationEvent and sends it to RowSetListener.navigated(oracle.jbo.NavigationEvent).

Specified by:
previous in interface RowIterator
Returns:
the previous Row object, or null if there is no previous row.

first

public Row first()
Description copied from interface: RowIterator
Gets the first row in the iterator. If first() is called on an iterator whose Row Set has not yet been RowSet.executeQuery()'ed, the Row Set's query is executed. Thus, the user does not need to call executeQuery() himself before calling first(). We refer to this as implicit query execution or implicit Row Set execution.

This method checks to see if the currency is not on the first row. If not, it resets the currency to the imaginary slot before the first row and then calls RowIterator.next(). Note that the act of resetting the currency may cause the range to scroll upward.

If the currency is on the slot before the first row, it simply calls next(). In this case, first() is equivalent to next().

If the currency is already on the first row, nothing happens.

If first() is called on an empty Row Set (a Row Set that has no row), the currency is set to the slot after the last row, and null is returned.

This method generates events to notify the changes to the iterator, e.g., ScrollEvent and/or NavigationEvent. See RowIterator.next() for details.

Specified by:
first in interface RowIterator
Returns:
the first Row object, or null if there is no first row. In that case (null return), the current slot status will be RowIterator.SLOT_BEYOND_LAST.

last

public Row last()
Description copied from interface: RowIterator
Gets the last row in the iterator. If last() is called on an iterator whose Row Set has not yet been RowSet.executeQuery()'ed, the Row Set's query is executed. Thus, the user does not need to call executeQuery() himself before calling last(). We refer to this as implicit query execution or implicit Row Set execution.

Before moving to the last row, last() validates the current row (if the iterator has a current row) through a call to Row.validate().

This method retrieves all rows from the Row Set and scrolls (if necessary) to the last row. If some of these rows have not yet been fetched from database, it fetches them. The View Object's fetch mode affects how rows are fetched from database into the collection. See ViewObjectImpl.getFetchMode() for details.

If successful, this method designates the last row as the current row.

If last() is called on an empty Row Set, the currency moves to the slot beyond the last row. The current slot status is set to RowIterator.SLOT_BEYOND_LAST.

The caller of this method should be aware that it may take a long time to complete as all rows from the Row Set are fetched.

The number of rows in the range at the completion of this method is affected by the "iteration mode". See Iteration Modes above for details.

This method generates events to notify the changes to the iterator. If scrolling occurs because of conditions described above, a ScrollEvent will be sent to RowSetListener.rangeScrolled(oracle.jbo.ScrollEvent). To pick up such an event, the listener object must implement the RowSetListener interface. Further, this listener must be registered through a call to NavigatableRowIterator.addListener(Object) (the listener object passed in as the parameter to addListener).

If the currency is changed, it generates a NavigationEvent and sends it to RowSetListener.navigated(oracle.jbo.NavigationEvent).

Specified by:
last in interface RowIterator
Returns:
the last Row object, or null if there is no last row.

reset

public void reset()
Description copied from interface: RowIterator
Moves the currency to the slot before the first row.

After this method, the current slot status will be RowIterator.SLOT_BEFORE_FIRST except in cases where this iterator is associated to an iterator binding in an ADF application which sets the currency to the first row in the iterator if available. A subsequent invocation of RowIterator.next() will cause the first row to become the current row.

It sends a ScrollEvent to RowSetListener.rangeScrolled(oracle.jbo.ScrollEvent) if the currency was not on the first row or on the slot before the first row. To pick up such an event, the listener object must implement the RowSetListener interface. Further, this listener must be registered through a call to NavigatableRowIterator.addListener(Object) (the listener object passed in as the parameter to addListener).

Specified by:
reset in interface RowIterator

hasNext

public boolean hasNext()
Description copied from interface: RowIterator
Tests for the existence of a row after the current row.
Specified by:
hasNext in interface RowIterator
Returns:
true if there is a next row. Specifically, if the Row Set is empty or if the currency is on the last row or the slot after the last row (current slot status == RowIterator.SLOT_BEYOND_LAST), it returns false. Otherwise, true.

hasPrevious

public boolean hasPrevious()
Description copied from interface: RowIterator
Tests for the existence of a row before the current row.

If the Row Set is forward-only, it returns false.

Specified by:
hasPrevious in interface RowIterator
Returns:
true if there is a previous row. Specifically, if the Row Set is empty or forward-only or if the currency is on the first row or the slot before the first row (current slot status == RowIterator.SLOT_BEFORE_FIRST), it returns false. Otherwise, true.

isRangeAtBottom

public boolean isRangeAtBottom()
Description copied from interface: RowIterator
Tests if the Row Set Iterator range is at the end of the result set.
Specified by:
isRangeAtBottom in interface RowIterator
Returns:
true if the last row of the range is the last row of the result set.

isRangeAtTop

public boolean isRangeAtTop()
Description copied from interface: RowIterator
Tests if the Row Set Iterator range is at the beginning of the result set.
Specified by:
isRangeAtTop in interface RowIterator
Returns:
true if the first row of the range is the first row of the result set.

getFetchedRowCount

public int getFetchedRowCount()
Description copied from interface: RowIterator
Counts the number of rows fetched from database into the Row Set collection up to this point.
Specified by:
getFetchedRowCount in interface RowIterator
Returns:
the number of rows fetched.

getRowCount

public int getRowCount()
Description copied from interface: RowIterator
Counts the total number of rows in the Row Set.

Note that this method retrieves all rows from the database then returns the number of rows in the Row Set collection.

Specified by:
getRowCount in interface RowIterator
Returns:
the number of rows.

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
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
Returns:
the number of rows in the range.

getRowCountInRange

public int getRowCountInRange()
Description copied from interface: RowIterator
Gets the size of the Row Set Iterator range.
Specified by:
getRowCountInRange in interface RowIterator
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
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
Parameters:
start - the absolute index of the new first row in the Row Set Iterator range.

getEstimatedRangePageCount

public int getEstimatedRangePageCount()
Description copied from interface: RowSetIterator
Returns getEstimatedRowCount()/rangePageSize, if rangeSize > 0. For rangeSize <= 0, returns 1.

This number may fluxuate when the View Object is syncronized with its Entity Object.

Specified by:
getEstimatedRangePageCount in interface RowSetIterator
Returns:
the number of range-pages that this RowSet collection has.

scrollToRangePage

public int scrollToRangePage(int pageIndex)
Description copied from interface: RowSetIterator
Moves the row set range start to the given page index where every page consists of RangeSize number of rows. PageIndex should start at page number 1. This method calculates the rowIndex that should start at that page and then scrolls the iterator to start at that row by using the following calculation:

(rangeSize * (pageSize-1)) - getRangeStart();

Specified by:
scrollToRangePage in interface RowSetIterator
Parameters:
pageIndex - the page number to go to in the result set.
Returns:
the number of rows actually scrolled.

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
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
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.

getRow

public Row getRow(Key key)
Description copied from interface: RowIterator
Returns the first row whose key matches key.

If the key being passed in has the row handle, it uses the row handle to locate the row. This is a quick operation. (A key returned from a call to Row.getKey() contains the row handle.)

If the key does not have a row handle, or if the handle look up did not find the row in the View row cache, it performs a linear search through the Row Set collection looking for a match. Hence, this method could take quite a long time to complete.

This method is similar to RowIterator.findByKey(Key, int) in that both methods return Row(s) that match the given key. However, the user should understand the differences. First, findByKey() performs random search. getKey() only performs random search if the key has the row handle portion and if the row with that handle is currently in the Row Set collection. Otherwise, getKey() does a linear search until a match is found, or the end of collection is reached. This could result in a long search for a match. Hence, findByKey() is generally much faster.

However, findByKey() may find the matching Row(s) out of sequence. When a row is not found in the View row cache, findByKey() issues a database query. Matching rows are retrieved and appended to the Row Set collection. For example, suppose the Row Set collection has 200 rows that qualify in the database. Suppose the user retrieved only 10 rows (190 not yet retrieved). Suppose, at this time, the user issues findByKey() that locates the 200-th row (the last row in database result set). That row is appended to the Row Set collection at the 11-th spot. Thus, when you use findByKey(), you may see rows out of sequence. In contrast, getRow() always retrieves rows in sequence.

If the Row Set collection is of any non-trivial size (say over 50), we would recommend findByKey().

findByKey() allows for partial key (only for View Objects that have multiple Entity bases). When a partial key is specified, multiple rows may return. getKey() returns one and only one row (exact match).

Specified by:
getRow in interface RowIterator
Parameters:
key - the key.
Returns:
the Row object matching the key.

getStructureDef

public StructureDef getStructureDef()

getRowAtRangeIndex

public Row getRowAtRangeIndex(int rangeIndex)
Description copied from interface: RowIterator
Accesses a row through its range index.
Specified by:
getRowAtRangeIndex in interface RowIterator
Parameters:
rangeIndex - an index in the range: 0 to getRangeSize() - 1.
Returns:
a Row object, or null if the index is out of range.

findRowsByAttributeValues

public RowIterator findRowsByAttributeValues(java.lang.String[] attrNames,
                                             java.lang.Object[] values)
Advanced internal for framework use only

getCurrentRow

public Row getCurrentRow()
Description copied from interface: RowIterator
Accesses the current row.
Specified by:
getCurrentRow in interface RowIterator
Returns:
the Row object designated as the current row.

getCurrentRowIndex

public int getCurrentRowIndex()
Description copied from interface: RowIterator
Gets the absolute index (not range index) of the current row.
Specified by:
getCurrentRowIndex in interface RowIterator
Returns:
a row index.

getCurrentRowSlot

public int getCurrentRowSlot()
Description copied from interface: RowIterator
Gets the slot status of the current row.
Specified by:
getCurrentRowSlot in interface RowIterator
Returns:
one of the class constants prefixed by SLOT_.

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
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
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".

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
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

containsRow

protected boolean containsRow(Row row)

setAttributeValue

protected void setAttributeValue(RowImpl row,
                                 java.lang.String accName,
                                 java.lang.Object value)

setCurrentRow

public boolean setCurrentRow(Row row)
Description copied from interface: RowIterator
Designates a given row as the current row.
Specified by:
setCurrentRow in interface RowIterator
Parameters:
row - the new current row.
Returns:
true if the operation succeeded.

setCurrentRowAtRangeIndex

public boolean setCurrentRowAtRangeIndex(int rangeIndex)
Description copied from interface: RowIterator
Designates a given index as the current row.
Specified by:
setCurrentRowAtRangeIndex in interface RowIterator
Parameters:
rangeIndex - the index of the new current row.
Returns:
true if the operation succeeded.

createRow

public Row createRow()
Description copied from interface: RowIterator
Creates a new Row object, but does not insert it into the Row Set.
Specified by:
createRow in interface RowIterator
Returns:
a new Row object.

createAndInitRow

public Row createAndInitRow(AttributeList nvp)
Description copied from interface: RowIterator
Creates and initializes a new Row object, but does not insert it into the Row Set. This method differs from createRow() mainly in that this method allows the user to pass in a list of name-value pairs with which row attributes are initialized.

nvp is a named value pair. When building an nvp from scratch, use NameValuePairs to build a new nvp. Here is an example:

    NameValuePairs nvp = new NameValuePairs();
    nvp.setAttribute("EmpTyp", "C");

    Row row = voEmp.createAndInitRow(nvp);
 
This method is particularly useful when creating a subclass View Row or Entity Row. You can include polymorphic discriminator attribute values in nvp and correct subclass row object will be created.

When this method is called, underlying entities are created. After the new entities are created, a new view row is created. After that ViewRowImpl.create(oracle.jbo.AttributeList) is called with this nvp. ViewRowImpl.create(AttributeList) walks thru the list of entities and calls EntityImpl.create(AttributeList) with the same nvp for each entity in the view row.

Specified by:
createAndInitRow in interface RowIterator
Parameters:
nvp - a list of name-value pairs.
Returns:
a new Row object.

insertRow

public void insertRow(Row row)
Description copied from interface: RowIterator
Inserts a row to the Row Set, before the current row. This method sets the current row to the row just inserted. With respect to eventing, this method call will generate two events (of oracle.jbo.RowSetListener): rowInserted, followed by navigated.
Specified by:
insertRow in interface RowIterator
Parameters:
row - the Row object to be added.

insertRowAtRangeIndex

public void insertRowAtRangeIndex(int rangeIndex,
                                  Row row)
Description copied from interface: RowIterator
Inserts a row to the Row Set at the given range index. The index is relative to the range, i.e., index of 0 would mean to insert before the first row of the range. Allowed values for index is 0 to range size. If index equals range size, the row is inserted right after the last row in the range. This method call does not alter the current position of the iterator, nor does it affect the range position.
Specified by:
insertRowAtRangeIndex in interface RowIterator
Parameters:
rangeIndex - the point where row is to be added.
row - the Row object to be added.

getMasterRowDataProvider

protected java.lang.Object getMasterRowDataProvider()

removeCurrentRow

public void removeCurrentRow()
Description copied from interface: RowIterator
Removes the current Row object from the Row Set.
Specified by:
removeCurrentRow in interface RowIterator

removeCurrentRowFromCollection

public void removeCurrentRowFromCollection()
Description copied from interface: RowIterator
Removes the current Row object from the collection.

It does not cause the row to be deleted from the database table. It just removes the row from the row collection. However, once the row is removed, it cannot be used any more. If you want to remove the current row from collection and insert it elsewhere, call RowIterator.removeCurrentRowAndRetain(), change currency to the desired location, and then call RowIterator.insertRow(oracle.jbo.Row) with that row.

Specified by:
removeCurrentRowFromCollection in interface RowIterator

removeCurrentRowAndRetain

public Row removeCurrentRowAndRetain()
Description copied from interface: RowIterator
Removes the current Row object from the collection and retain it for insertion into another location.

It does not cause the row to be deleted from the database table. It just removes the row from the row collection.

This method differs from RowIterator.removeCurrentRowFromCollection() in that after the current row is removed from the collection, it can be inserted back into the collection at another location.

To do so, call RowIterator.removeCurrentRowAndRetain(), and get the returning row. Then, change currency to the desired location, and call RowIterator.insertRow(oracle.jbo.Row) with that row.

Specified by:
removeCurrentRowAndRetain in interface RowIterator
Returns:
the current row which was just removed from collection.

getMessageBundleClass

public java.lang.Class getMessageBundleClass()
Description copied from class: RowSetHelper
Internal: Applications should not use this method.

Returns the class of the reference object.

Specified by:
getMessageBundleClass in interface VariableManagerOwnerBase
Specified by:
getMessageBundleClass in class RowSetHelper
Returns:
the class of the reference object.

getResourceBundleDef

public ResourceBundleDef getResourceBundleDef()
Specified by:
getResourceBundleDef in interface VariableManagerOwnerBase

getRangeIndexOf

public int getRangeIndexOf(Row row)
Description copied from interface: RowIterator
Get the index of the given row relative to the beginning of the range.
Specified by:
getRangeIndexOf in interface RowIterator
Parameters:
row - a Row object. or -1 if the row is not in range.
Returns:
the index of row,

enumerateRowsInRange

public java.util.Enumeration enumerateRowsInRange()
Description copied from interface: RowIterator
Gets an Enumeration of all rows in the Row Set.
Specified by:
enumerateRowsInRange in interface RowIterator
Returns:
an Enumeration interface.

getFilteredRows

public Row[] getFilteredRows(java.lang.String attrName,
                             java.lang.Object attrValue)
Description copied from interface: RowSetIterator
Returns all rows in this collection whose attribute value matches the value being passed in attrValue.

Note that this method does not affect the current RowSetIterator.

Specified by:
getFilteredRows in interface RowSetIterator
Parameters:
attrName - name of the attribute to be used for filtering.
attrValue - attribute value for filtering.
Returns:
an array of rows that match.

getFilteredRowsInRange

public Row[] getFilteredRowsInRange(java.lang.String attrName,
                                    java.lang.Object attrValue)
Description copied from interface: RowSetIterator
Returns all rows in this range whose attribute value matches the value being passed in attrValue.

This method uses getAllRowsInRange() to retrieve all rows and then match the rows.

Specified by:
getFilteredRowsInRange in interface RowSetIterator
Parameters:
attrName - name of the attribute to be used for filtering.
attrValue - attribute value for filtering.
Returns:
an array of rows in the current range that match.

getAllRowsInRange

public Row[] getAllRowsInRange()
Description copied from interface: RowIterator
Extracts the rows in the range.
Specified by:
getAllRowsInRange in interface RowIterator
Returns:
an array of Row objects. The size if the array is setViewSize().

useListAdapter

protected boolean useListAdapter()
Let a subclass decide if the ListAdapter should be used to avoid creating an iterator over the original list. This will allow bean subclasses that only use java.util.List to override and get a synchronized list behavior where they do not have to notify the bindings of list mutations. In this case the datacontrol will also have to consider issue with default Action binding behavior of insert and remove rows (if they enable it via the datacontrol). (Advanced: internal method - use with caution as this is not tested/ advertized as a supported feature.).

getNextRangeSet

public Row[] getNextRangeSet()
Description copied from interface: RowSetIterator
Gets the next set of rows in the range. This method is good for processing rows in a range-ful fashion. Suppose the Row Set has 20 rows and the Iterator range size is 10. Suppose further that the Iterator is showing rows 0 through 9 (0-based indexing). Calling getNextRangeSet() will return rows 10 through 19.

If the next range set does not have enough rows to fill up the range, getNextRangeSet() returns a partially filled range. That is, this method operates as if the iteration mode is RowIterator.ITER_MODE_LAST_PAGE_PARTIAL.

If there is no more rows, this method returns an empty array (an array of length 0).

While obtaining the next range set, the range will be scrolled. This causes a ScrollEvent to be sent to RowSetListener.rangeScrolled(oracle.jbo.ScrollEvent). To pick up such an event, the listener object must implement the RowSetListener interface. Further, this listener must be registered through a call to NavigatableRowIterator.addListener(Object) (the listener object passed in as the parameter to addListener).

After the next range set is obtained, the method sets the first Row of the range as the current row. This may fire a NavigationEvent and sends it to RowSetListener.navigated(oracle.jbo.NavigationEvent).

Specified by:
getNextRangeSet in interface RowSetIterator
Returns:
an array of Rows in the next range set. An array of length 0 if there are no more rows.

getPreviousRangeSet

public Row[] getPreviousRangeSet()
Description copied from interface: RowSetIterator
Gets the previous set of rows in the range. This method is good for processing rows in a range-ful fashion. Suppose the Row Set has 20 rows and the Iterator range size is 10. Suppose further that the Iterator is showing rows 10 through 19 (0-based indexing). Calling getPreviousRangeSet() will return rows 0 through 9.

If there is no more rows, this method returns an empty array (an array of length 0).

While obtaining the previous range set, the range will be scrolled. This causes a ScrollEvent to be sent to RowSetListener.rangeScrolled(oracle.jbo.ScrollEvent). To pick up such an event, the listener object must implement the RowSetListener interface. Further, this listener must be registered through a call to NavigatableRowIterator.addListener(Object) (the listener object passed in as the parameter to addListener).

After the previous range set is obtained, the method sets the first Row of the range as the current row. This may fire a NavigationEvent and sends it to RowSetListener.navigated(oracle.jbo.NavigationEvent).

Specified by:
getPreviousRangeSet in interface RowSetIterator
Returns:
an array of Rows in the previous range set. An array of length 0 if there are no more rows.

getDetailRowSets

public RowSet[] getDetailRowSets()
Get all detail row sets.
Specified by:
getDetailRowSets in interface RowSetIterator
Returns:
An array of detail RowSet objects.

createDetailRowSet

public RowSet createDetailRowSet(java.lang.String rsName,
                                 java.lang.String linkDefName)
Create a row set for the view link.
Specified by:
createDetailRowSet in interface RowSetIterator
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 detail RowSet object.

notifyRangeRefreshed

public final void notifyRangeRefreshed(int rangeStart)

notifyNavigationEvent

protected void notifyNavigationEvent(Row srcRow,
                                     Row dstRow)

createKey

public Key createKey(java.lang.String stringifiedKey)

createKey

public Key createKey(AttributeList nvp)
Description copied from interface: RowIterator
Given a list of name-value pairs, creates a Key object that matches the key structure for the ViewObject for this RowItertor. This Key object could be used as a valid argument to findByKey. This Key will have null values for attributes expected in the key structure for this ViewObject, but not found in the given set of name-value pairs.
Specified by:
createKey in interface RowIterator

findByKey

public Row[] findByKey(Key key,
                       int maxNumOfRows)
Description copied from interface: RowIterator
Finds and returns View rows that match the specified key.

If this View Object has multiple Entity Object bases, the key need not be specified for all. However, if a key is specified for n-th Entity Object, and if this Entity Object's primary key consists of multiple parts, all parts of the key must be specified.

If not all Entity keys are included, multiple rows may match the partial key. The maxNumOfRows parameter is used to specify the maximum number of rows to return.

For example, suppose the View Object has Emp and DeptLocation as its Entity Object bases. Suppose further that Emp has a one part primary key (employee number) and DeptLocation has a two part primary key (dept name and location).

The user can make the following call to look for all employees working in ACCOUNTING's NEW YORK office:

    // The key will consist of 3 parts.  The first part is
    // for the employee number (which is null, meaning not
    // specified).  The second part is the department name.
    // The third is the location.
    Object [] keyValues = new Object[3];

    keyValues[0] = null;  // All employees
    keyValues[1] = "ACCOUNTING";
    keyValues[4] = "NEW YORK"; // third Entity Object, key part 1

    Row[] rows = myAM.findByKey(new Key(keyValues), -1);
 

In this example, if you were to include the key for DeptLocation, you must specify both key parts.

Note that the position of the key must patch the order of the Entity Object bases and their keys. In the above example, keyValues[0] is always the employee number. You cannot specify the employee number in keyValues[1] or keyValues[2].

This method works even on a View Object which has no Entity Object base. For this to work, however, the ViewObject's key attribute list must have been set up through a call to ViewObjectImpl.setKeyAttributeDefs(int[]). For example, suppose we have a View Object with 5 attributes where attribute 0 and 2 are to be its key attributes.

Then, the following code block will retrieve all rows whose attribute 0 is "PERM" and attribute 2 is 30.

    // First set up the key attributes
    myVO.setKeyAttributeDefs(new int[] { 0, 2 });

    // The key will consist of 2 parts.  The first part is
    // for attribtue 0 and the second is for attribute 2.
    Object [] keyValues = new Object[2];

    keyValues[0] = "PERM";
    keyValues[1] = new Integer(30);

    Row[] rows = myAM.findByKey(new Key(keyValues), -1);
 

Internally, findByKey() works as follows for a View Object with Entity Object bases: It takes the first non-null entity key from key. It uses it to find the Entity row in the cache. If it finds it, then it looks at all View rows in the Row Set collection that uses that Entity row and apply the remaining keys to qualify them. It may or may not find as many rows as requested.

If the requested number of rows have been found, the array returns. Otherwise, a check is made to see if the View Object's fetch size is unlimited (which is -1, see ViewObject.setMaxFetchSize(int)) and the Row Set has fetched all the rows out of database into its collection. If this is the case, we return the array even if the requested number of rows have not been found. This is because these conditions imply that all rows have been brought into Row Set collection and no further search is necessary.

Otherwise (the requested number of rows not yet found and the Row Set has not yet fetched all rows or the fetch size is not -1), the search continues. We now use the key build a where-clause for an internal View Object. That where-clause is applied and qualifying rows are retrieved from it to find the requested number of rows.

For a View Object which has no Entity Object base, we simply skip the step of looking in the Entity Object cache. Other than that, the logic is applied.

As new rows are retrieved from database they are added to the Row Set collection. Thus, the user can work with these rows immediately, e.g., call RowIterator.setCurrentRow(Row) with one of them. Care is applied to make sure the same row is not added to the Row Set collection multiple times.

This method does not fire any navigation event, nor does it move the range or the current row. Also, as rows are added to the Row Set collection, no insertion event fires (as this is analogous to fetching rows).

See RowIterator.getRow(Key) for comparison between this method and getRow(Key).

Specified by:
findByKey in interface RowIterator
Parameters:
key - the key to match.
maxNumOfRows - the maximum size of the array to return, or -1 to return all rows.
Returns:
an array of rows matching the key.

findByAltKey

public RowIterator findByAltKey(java.lang.String keyName,
                                Key key,
                                int maxNumOfRows,
                                boolean skipWhere)
Description copied from interface: RowIterator
Same as RowIterator.findByKey(Key, int) with a few extra functionalities. The key is for an alternate key. You can specifcy the alternate key name through the keyName parameter.

A skipWhere parameter controls whether or notthe current view object's where-clause is included in the db query if a db query is issued to get the row(s).

It returns a RowIterator and not a row array. You can enumerate through rows of this row iterator.

Specified by:
findByAltKey in interface RowIterator
Parameters:
keyName - the name of the alternate key. If null the primary key is specified, i.e., this function call becomes equivalent to findByKey with skipWhere = false.
key - the alternate key to match.
maxNumOfRows - the maximum size of the array to return, or -1 to return all rows.
skipWhere - A flag that controls whether, when a db query is issued to get the matching row(s), the view object's current where-clause is to be included in the query or not.
Returns:
an array of rows matching the alternate key.

isSortable

protected boolean isSortable()

findByViewCriteria

public RowIterator findByViewCriteria(ViewCriteria criteria,
                                      int maxNumOfRows,
                                      int queryMode)
Description copied from interface: RowIterator
Finds and returns View rows that match the specified View Criteria. See ViewCriteria for details on how to build and use a View Criteria.

The queryMode parameter controls the manner in which the qualifying View rows are searched. See the QUERY_MODE_... constants in ViewObject for different contants that can be specified (they can be OR'ed together).

If QUERY_MODE_SCAN_VIEW_ROWS is specified, the existing View rows in the current Row Set are scanned for matching rows.

If QUERY_MODE_SCAN_ENTITY_ROWS is specified, the Entity cache is searched for qualifying rows. If qualifying rows are found, they are added to the current Row Set. I.e., they become part of the current row collection. Internally, a finder View Object is created to search the Entity cache and to produce View rows from the Entity cache.

If QUERY_MODE_SCAN_DATABASE_TABLES is specified, a database query is issued to find matching rows. The View Criteria is converted into a where-clause. ViewObject.applyViewCriteria(ViewCriteria) on the finder View Object is invoked and the query executed.

Upon completion of this operation, the finder View Object is closed and removed.

Specified by:
findByViewCriteria in interface RowIterator
Parameters:
criteria - the View Criteria to be used to qualify View rows.
maxNumOfRows - the maximum size of the array to return, or -1 to return all rows. If a value other than -1 is specified and if the specified number of rows is reached, the method returns without performing any further operation.
queryMode - the mode in which qualify View rows are scanned. See above for further info.
Returns:
a RowSet (parented by the same View Object as this RowIterator) that contains qualifying rows. For convenience, this RowSet's range size is initialized to -1 (all rows).

createRowSetIterator

protected RowSetIterator createRowSetIterator(java.lang.String name)
Specified by:
createRowSetIterator in class RowSetHelper

createFilteredRowSetIterator

protected RowSetIterator createFilteredRowSetIterator(java.lang.Object data)
Create and return an equivalent RowSetIterator with data containing rows from this same RSI filtered via a criteria.

findByEntity

public Row[] findByEntity(int eRowHandle,
                          int maxNumOfRows)
Description copied from interface: RowIterator
Finds and returns View rows that use the Entity row, identified by the Entity row handle, eRowHandle.
Specified by:
findByEntity in interface RowIterator
Parameters:
eRowHandle - the Entity row handle.
maxNumOfRows - the maximum size of the row array to return, or -1 to return all rows.
Returns:
an array of View rows that use the Entity row.

getProperties

public java.util.Hashtable getProperties()
Description copied from interface: Properties
Gets the table of properties.
Specified by:
getProperties in interface Properties
Overrides:
getProperties in class PropertiesHelper
Returns:
a hashtable of properties.

isNameGenerated

public boolean isNameGenerated()
Description copied from interface: RowSetIterator
Tests if the Iterator's name was generated by the system.
Specified by:
isNameGenerated in interface RowSetIterator
Returns:
true if the name was generated by the system. false if the name was given by the user and not generated by the system.

getListenersList

public java.util.ArrayList getListenersList()
Advanced internal for framework use only
Overrides:
getListenersList in class RowSetHelper

internalCreateRowInstanceFor

protected Row internalCreateRowInstanceFor(java.lang.Object rowData)

getVariableManager

public VariableValueManager getVariableManager()
Description copied from interface: VariableManagerOwnerBase
Returns this object's current Variable Value Manager. It will return null if Variable Value Manager has been initialized.

When a framework object is first created, its Variable Value Manager may be null. This method does not initialize (create) the Variable Value Manager.

VariableManagerOwnerBase.ensureVariableManager() in contrast, ensures that the Variable Value Manager is initialized (created).

Specified by:
getVariableManager in interface VariableManagerOwnerBase
Returns:
this object's current Variable Value Manager. May return null if one was not yet initialized.

hasVariables

public boolean hasVariables()
Description copied from interface: VariableManagerOwnerBase
Returns a flag indicating whether this object has Variables or not.
Specified by:
hasVariables in interface VariableManagerOwnerBase
Returns:
the flag indicating whether this object has Variables.

ensureVariableManager

public VariableValueManager ensureVariableManager()
Description copied from interface: VariableManagerOwnerBase
Returns this object's Variable Value Manager. If this object current has no Variable Value Manager, it will initialize (create) one.
Specified by:
ensureVariableManager in interface VariableManagerOwnerBase
Returns:
this object's Variable Value Manager. Will create a Variable Value Manager if this object had no Variable Value Manager.

Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle ADF Model
11g Release 2 (11.1.2.3.0)

E17483-04


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