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


oracle.jbo
Class ViewCriteria

java.lang.Object
  extended byjava.util.AbstractCollection
      extended byjava.util.AbstractList
          extended byjava.util.Vector
              extended byoracle.jbo.ViewCriteria

All Implemented Interfaces:
java.lang.Cloneable, java.util.Collection, java.util.List, NavigatableRowIterator, java.util.RandomAccess, RowIterator, java.io.Serializable

public class ViewCriteria
extends java.util.Vector
implements NavigatableRowIterator

A list of row criteria for a View Object's WHERE clause.

The lengths of the oracle.jbo.ViewCriteriaRows in the list must all match the number of attributes in the View Object.

The following example of a user-defined function, demoCriteria uses several methods in the ViewCriteria and ViewCriteriaRow classes to create and populate criteria rows and to demonstrate "query-by-example." The printViewObject is a helper function that executes the View Object query and prints the results to the screen.

    public static void demoCriteria(ApplicationModule appMod)
    {
       // Create and populate criteria rows to support query-by-example.
       ViewObject empView = appMod.createViewObject("Emp", "mypackage1.EmpView");
       ViewCriteria vc = empView.createViewCriteria();
       ViewCriteriaRow vcRow = vc.createViewCriteriaRow();

       // ViewCriteriaRow attribute name is case-sensitive.
       // ViewCriteriaRow attribute value requires operator and value.
       // Note also single-quotes around string value.
       vcRow.setAttribute("Job", "= 'MANAGER'");
       vc.addElement(vcRow);

       vcRow = vc.createViewCriteriaRow();
       vcRow.setAttribute("Sal", "> 2500");

       vc.addElement(vcRow);
       empView.applyViewCriteria(vc);

       // Multiple rows are OR-ed in WHERE clause.
       System.out.println("Demo View Criteria");

       // Should print employees that are MANAGER or have Sal > 2500
       QueryDemo.printViewObject(empView);
    }

    public static void printViewObject(ViewObject vo)
    {
       // Execute the query, print results to the screen.
       vo.executeQuery();

       // Print the View Object's query
       System.out.println("Query: " + vo.getQuery());

       while (vo.hasNext())
       {
          Row row = vo.next();\
          String rowDataStr = "";

          // How many attributes (columns) is the View Object using?
          int numAttrs = vo.getAttributeCount();

          // Column numbers start with 0, not 1.
          for (int columnNo = 0; columnNo < numAttrs; columnNo++)
          {
             // See also Row.getAttribute(String name).
             Object attrData = row.getAttribute(columnNo);
             rowDataStr += (attrData + "\t");
          }
          System.out.println(rowDataStr);
       }
    }
 

In the above code example, note that the View Object's ViewObject.applyViewCriteria(oracle.jbo.ViewCriteria) must be called to apply this ViewCriteria to the View Object.

Since:
JDeveloper 3.0
See Also:
Serialized Form

Field Summary
static int CRITERIA_MODE_CACHE
          CRITERIA_MODE_... constants are used to specify View Criteria mode.
static int CRITERIA_MODE_QUERY
          CRITERIA_MODE_... constants are used to specify View Criteria mode.
protected  com.sun.java.util.collections.ArrayList listeners
           

 

Fields inherited from class java.util.Vector
capacityIncrement, elementCount, elementData

 

Fields inherited from class java.util.AbstractList
modCount

 

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
ViewCriteria(StructureDef structureDef)
           
ViewCriteria(oracle.jbo.ViewObject viewObject)
          Creates an empty view criteria object.

 

Method Summary
 void add(int index, java.lang.Object element)
           
 boolean add(java.lang.Object o)
           
 boolean addAll(java.util.Collection c)
           
 boolean addAll(int index, java.util.Collection c)
           
 void addElement(java.lang.Object obj)
           
 void addListener(java.lang.Object target)
          Adds a RowSetListener.
 void clear()
           
 Row createAndInitRow(oracle.jbo.AttributeList nvp)
          Creates a new Row object, but does not insert it into the row set.
 Key createKey(oracle.jbo.AttributeList nvp)
          Given a list of name-value pairs, creates a Key object.
 Row createRow()
          Creates a new Row object, but does not insert it into the row set.
 oracle.jbo.ViewCriteriaRow createViewCriteriaRow()
          Creates a new ViewCriteriaRow for this ViewCriteria.
 void criteriaChanged()
           
 java.util.Enumeration enumerateRowsInRange()
          Gets an Enumeration interface for the row set.
 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.
 Row first()
          Designates the first row of the row set as the current row.
 Row[] getAllRowsInRange()
          Returns an array ViewCriteriaRow's in this ViewCriteria.
 int getAttributeIndexOf(java.lang.String name)
          Finds the attribute associated with an attribute name.
 oracle.jbo.CriteriaClauses getClauses()
           
 int getCriteriaMode()
          Gets the current View Criteria mode.
 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.
 int getFetchedRowCount()
          Counts the number of rows currently fetched in the row set.
 int getIterMode()
          Gets the iteration mode.
protected  com.sun.java.util.collections.ArrayList getListenersList()
           
 int getRangeIndexOf(Row row)
          Get the index of the given row relative to the beginning of the range.
 int getRangeSize()
          Gets the range size.
 int getRangeStart()
          Gets the absolute index of the first row in the row set range.
 Row getRow(Key key)
          Accesses a row through a unique key.
 Row getRowAtRangeIndex(int index)
          Accesses a row through its index in the row set.
 int getRowCount()
          Counts the total number of rows in the row set.
 int getRowCountInRange()
          Gets the size of the row set range.
 StructureDef getStructureDef()
          return StructureDef that this Criteria is based on.
 oracle.jbo.ViewObject getViewObject()
          Gets the View Object that owns the view criteria.
 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.
 void insertElementAt(java.lang.Object obj, int index)
           
 void insertRow(Row row)
          Adds a row to the row set, before the current row.
 void insertRowAtRangeIndex(int index, Row row)
          Adds a row to the row set at the given index.
 boolean isCriteriaForQuery()
          Returns a flag indicating whether the View Criteria is to be included in database query or be used for in memory row filtering.
 boolean isCriteriaForRowMatch()
           
 boolean isRangeAtBottom()
          Tests if the row set range is at the end of the result set.
 boolean isRangeAtTop()
          Tests if the row set range is at the beginning of the result set.
 boolean isRowValidation()
          Gets the validation flag on this iterator.
 boolean isUseAttributeFormatHint()
           
 Row last()
          Designates the last row of the row set as the current row.
 Row next()
          Steps forward, designating the next row as the current row.
 Row previous()
          Steps backward, designating the previous row as the current row.
 java.lang.Object remove(int index)
           
 boolean remove(java.lang.Object o)
           
 boolean removeAll(java.util.Collection c)
           
 void removeAllElements()
           
 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.
 boolean removeElement(java.lang.Object obj)
           
 void removeElementAt(int index)
           
 void removeListener(java.lang.Object target)
          Removes a RowSetListener.
protected  void removeRange(int fromIndex, int toIndex)
           
 void reset()
          Clears the "current row" designation and places the iterator in the slot before the first row.
 boolean retainAll(java.util.Collection c)
           
 int scrollRange(int amount)
          Moves the row set 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 row set index.
 int scrollToRangePage(int pageIndex)
          This method is a no-op and returns zero.
 java.lang.Object set(int index, java.lang.Object element)
           
 void setClauses(oracle.jbo.CriteriaClauses clauses)
           
 void setCriteriaForQuery(boolean b)
          Deprecated. Since JDeveloper 10.1.3. Use setCriteriaMode(int) instead
 void setCriteriaMode(int mode)
          Sets the criteria mode which controls the manner in which the View Criteria will be used.
 boolean setCurrentRow(Row row)
          Designates a given row as the current row.
 boolean setCurrentRowAtRangeIndex(int index)
          Designates a given index as the current row.
 void setElementAt(java.lang.Object obj, int index)
           
 void setIterMode(int mode)
          Modifies the iteration mode.
 int setRangeSize(int size)
          Modifies the size of the row set range.
 int setRangeStart(int start)
          Moves the row set range.
 void setRowValidation(boolean flag)
          Sets the validation flag on this iterator.
 void setUseAttributeFormatHint(boolean flag)
          Turn this flag off to get the 904 and earlier behavior where attribute formatters are not consulated for equality critiera.
 void setViewCriteriaManager(oracle.jbo.ViewCriteriaManager manager)
           
 void setViewObject(oracle.jbo.ViewObject vo)
           
 void trimNoDataRows()
          This method walks through ViewCriteriaRow's in this ViewCriteria and removes those rows that have no data.

 

Methods inherited from class java.util.Vector
capacity, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, get, hashCode, indexOf, indexOf, isEmpty, lastElement, lastIndexOf, lastIndexOf, setSize, size, subList, toArray, toArray, toString, trimToSize

 

Methods inherited from class java.util.AbstractList
iterator, listIterator, listIterator

 

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

 

Methods inherited from interface java.util.List
iterator, listIterator, listIterator

 

Field Detail

CRITERIA_MODE_QUERY

public static int CRITERIA_MODE_QUERY
CRITERIA_MODE_... constants are used to specify View Criteria mode. CRITERIA_MODE_QUERY means that the View Criteria will be used to augment the database query's where-clause.

These constants may be OR'ed together. For example, (CRITERIA_MODE_QUERY | CRITERIA_MODE_CACHE) specifies that the View Criteria will be used for the database query, as well as the RowMatch (in-memory row filtering).


CRITERIA_MODE_CACHE

public static int CRITERIA_MODE_CACHE
CRITERIA_MODE_... constants are used to specify View Criteria mode. CRITERIA_MODE_CACHE means that the View Criteria will be used to produce a RowMatch, which is used for in-memory row filtering.

These constants may be OR'ed together. For example, (CRITERIA_MODE_QUERY | CRITERIA_MODE_CACHE) specifies that the View Criteria will be used for the database query, as well as the RowMatch (in-memory row filtering).


listeners

protected com.sun.java.util.collections.ArrayList listeners

Constructor Detail

ViewCriteria

public ViewCriteria(oracle.jbo.ViewObject viewObject)
Creates an empty view criteria object.
Parameters:
viewObject - the owner of this ViewCriteria.

ViewCriteria

public ViewCriteria(StructureDef structureDef)

Method Detail

setViewCriteriaManager

public void setViewCriteriaManager(oracle.jbo.ViewCriteriaManager manager)

getClauses

public oracle.jbo.CriteriaClauses getClauses()

setClauses

public void setClauses(oracle.jbo.CriteriaClauses clauses)

criteriaChanged

public void criteriaChanged()

isCriteriaForQuery

public boolean isCriteriaForQuery()
Returns a flag indicating whether the View Criteria is to be included in database query or be used for in memory row filtering.

If true, when the View Criteria is translated into a row qualification clause, it will use the name of the database column to which the attribute is mapped. If false, the attribute name is used as is.

If the View Criteria is being used for in memory row filtering, it should be used in conjunction with RowQualifier. See oracle.jbo.server.ViewObjectImpl#setRowQualifier(oracle.jbo.server.RowQualifier) for details.

Returns:
the flag indicating whether the View Criteria is for database query (true) or for in memory row filtering (false).

isCriteriaForRowMatch

public boolean isCriteriaForRowMatch()

setCriteriaForQuery

public void setCriteriaForQuery(boolean b)
Deprecated. Since JDeveloper 10.1.3. Use setCriteriaMode(int) instead
Sets the flag indicating whether the View Criteria is to be included in database query or be used for in memory row filtering.

If true, when the View Criteria is translated into a row qualification clause, it will use the name of the database column to which the attribute is mapped. If false, the attribute name is used as is.

If the View Criteria is being used for in memory row filtering, it should be used in conjunction with RowQualifier. See oracle.jbo.server.ViewObjectImpl#setRowQualifier(oracle.jbo.server.RowQualifier) for details.

Parameters:
b - the flag indicating whether the View Criteria is for database query (true) or for in memory row filtering (false).

getCriteriaMode

public int getCriteriaMode()
Gets the current View Criteria mode.

See CRITERIA_MODE_... constants for possible mode values.

The returning mode may be a combination (through bit-wise OR) multiple criteria modes.

Returns:
the current View Criteria mode.

setCriteriaMode

public void setCriteriaMode(int mode)
Sets the criteria mode which controls the manner in which the View Criteria will be used.

See CRITERIA_MODE_... constants for possible mode values.

The CRITERIA_MODE_... constants may be OR'ed together. For example, if this method is called with (CRITERIA_MODE_QUERY | CRITERIA_MODE_CACHE), the View Criteria will be used for the database query, as well as the RowMatch (in-memory row filtering).

Parameters:
mode - the new criteria mode.

setViewObject

public void setViewObject(oracle.jbo.ViewObject vo)

getViewObject

public oracle.jbo.ViewObject getViewObject()
Gets the View Object that owns the view criteria.
Returns:
the ViewObject that owns this ViewCriteria.

getStructureDef

public StructureDef getStructureDef()
return StructureDef that this Criteria is based on.

getAttributeIndexOf

public int getAttributeIndexOf(java.lang.String name)
Finds the attribute associated with an attribute name.
Parameters:
name - the attribute name.
Returns:
an attribute index (0 based).

createViewCriteriaRow

public oracle.jbo.ViewCriteriaRow createViewCriteriaRow()
Creates a new ViewCriteriaRow for this ViewCriteria. A ViewCriteriaRow object is an array for WHERE clause criteria. After setting up the ViewCriteriaRow, call add(viewCriteriaRow) or addElement(viewCriteriaRow) to add it to this ViewCriteria.
Returns:
a ViewCriteriaRow, an array for WHERE clause criteria.
See Also:
ViewCriteriaRow

next

public Row next()
Steps forward, designating the next row as the current row.
Specified by:
next in interface RowIterator
Returns:
a Row object, or null if there is no next row.

previous

public Row previous()
Steps backward, designating the previous row as the current row.
Specified by:
previous in interface RowIterator
Returns:
a Row object, or null if there is no previous row.

first

public Row first()
Designates the first row of the row set as the current row.
Specified by:
first in interface RowIterator
Returns:
a Row object, or null if the row set is empty.

last

public Row last()
Designates the last row of the row set as the current row.
Specified by:
last in interface RowIterator
Returns:
a Row object, or null if the row set is empty.

reset

public void reset()
Clears the "current row" designation and places the iterator in the slot before the first row.

A subsequent invocation of next() will cause the first row to become the current row.

Specified by:
reset in interface RowIterator

hasNext

public boolean hasNext()
Tests for the existence of a row after the current row.
Specified by:
hasNext in interface RowIterator
Returns:
true if there is next row.

hasPrevious

public boolean hasPrevious()
Tests for the existence of a row before the current row.
Specified by:
hasPrevious in interface RowIterator
Returns:
true if there is previous row.

getFetchedRowCount

public int getFetchedRowCount()
Counts the number of rows currently fetched in the row set.
Specified by:
getFetchedRowCount in interface RowIterator
Returns:
the number of fetched rows.

getRowCount

public int getRowCount()
Counts the total number of rows in the row set.
Specified by:
getRowCount in interface RowIterator
Returns:
the number of rows.

getRowAtRangeIndex

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

getCurrentRow

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

getCurrentRowIndex

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

getCurrentRowSlot

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

setCurrentRow

public boolean setCurrentRow(Row row)
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.

createAndInitRow

public Row createAndInitRow(oracle.jbo.AttributeList nvp)
Creates a new Row object, but does not insert it into the row set. For ViewCriteria, this method works just like createRow().
Specified by:
createAndInitRow in interface RowIterator
Parameters:
nvp - not used.
Returns:
a new Row object.

createRow

public Row createRow()
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.

insertRow

public void insertRow(Row row)
Adds 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.

removeCurrentRow

public void removeCurrentRow()
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.

setRangeSize

public int setRangeSize(int size)
Modifies the size of the row set range.

This method is a no-op for ViewCriteria. For a ViweCriteria, the range size is always -1.

Specified by:
setRangeSize in interface RowIterator
Parameters:
size - this parameter is not used.
Returns:
-1, which means that the range contains all rows.
See Also:
RowIterator.setRangeStart(int)

getRangeSize

public int getRangeSize()
Gets the range size. For ViewCriteria, the range size is always -1 (all rows).
Specified by:
getRangeSize in interface RowIterator
Returns:
-1, which means that the range contains all rows.

getRangeStart

public int getRangeStart()
Gets the absolute index of the first row in the row set 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)
Moves the row set 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 range.

scrollRange

public int scrollRange(int amount)
Moves the row set 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.

scrollToRangePage

public int scrollToRangePage(int pageIndex)
This method is a no-op and returns zero.

scrollRangeTo

public int scrollRangeTo(Row row,
                         int index)
Scrolls the range to place a given row at a given row set index.
Specified by:
scrollRangeTo in interface RowIterator
Parameters:
row - the row.
index - the row's new index.
Returns:
the actual number of rows scrolled. A negative number indicates that the scroll was scrolled upward.

setCurrentRowAtRangeIndex

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

insertRowAtRangeIndex

public void insertRowAtRangeIndex(int index,
                                  Row row)
Adds a row to the row set at the given 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:
index - the point where row is to be added.
row - the Row object to be added.

getRangeIndexOf

public int getRangeIndexOf(Row row)
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 range index of row (0 based).

getRowCountInRange

public int getRowCountInRange()
Gets the size of the row set range.
Specified by:
getRowCountInRange in interface RowIterator
Returns:
the number of rows in the range.

isRangeAtBottom

public boolean isRangeAtBottom()
Tests if the row set 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()
Tests if the row set 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.

enumerateRowsInRange

public java.util.Enumeration enumerateRowsInRange()
Gets an Enumeration interface for the row set.
Specified by:
enumerateRowsInRange in interface RowIterator
Returns:
an Enumeration interface.

getAllRowsInRange

public Row[] getAllRowsInRange()
Returns an array ViewCriteriaRow's in this ViewCriteria.
Specified by:
getAllRowsInRange in interface RowIterator
Returns:
an array of ViewCriteriaRow's.

getRow

public Row getRow(Key key)
Accesses a row through a unique key.

This operation is not supported by ViewCriteria. Calling this method will throw InvalidOperException.

Specified by:
getRow in interface RowIterator
Parameters:
key - a key.
Returns:
none.
Throws:
InvalidOperException - is thrown. ViewCriteria does not support this operation.

findByKey

public Row[] findByKey(Key key,
                       int maxNumOfRows)
Finds and returns View rows that match the specified key.

This operation is not supported by ViewCriteria. Calling this method will throw InvalidOperException.

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:
none.
Throws:
InvalidOperException - is thrown. ViewCriteria does not support this operation.

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

createKey

public Key createKey(oracle.jbo.AttributeList nvp)
Given a list of name-value pairs, creates a Key object.

This operation is not supported by ViewCriteria. Calling this method will throw InvalidOperException.

Specified by:
createKey in interface RowIterator
Parameters:
nvp - the name value pair array.
Returns:
none.
Throws:
InvalidOperException - is thrown. ViewCriteria does not support this operation.

findByEntity

public Row[] findByEntity(int eRowHandle,
                          int maxNumOfRows)
Finds and returns View rows that use the entity row, identified by the entity row handle, eRowHandle.

This operation is not supported by ViewCriteria. Calling this method will throw InvalidOperException.

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:
none.
Throws:
InvalidOperException - is thrown. ViewCriteria does not support this operation.

setRowValidation

public void setRowValidation(boolean flag)
Sets the validation flag on this iterator.

This operation is not supported by ViewCriteria. Calling this method will throw InvalidOperException.

Specified by:
setRowValidation in interface RowIterator
Parameters:
flag - whether to turn row validation off or not.
Throws:
InvalidOperException - is thrown. ViewCriteria does not support this operation.

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

getIterMode

public int getIterMode()
Gets the iteration mode.

As ViewCriteria always works with full range (range size -1), iteration mode is meaningless.

Specified by:
getIterMode in interface RowIterator
Returns:
the iteration mode. It is always RowIterator.ITER_MODE_LAST_PAGE_FULL.

setIterMode

public void setIterMode(int mode)
Modifies the iteration mode.

This method is a no-op for ViewCriteria. For a ViweCriteria, the range size is always -1, and thus iteration mode is meaningless.

Specified by:
setIterMode in interface RowIterator
Parameters:
mode - this parameter is not used.

getListenersList

protected com.sun.java.util.collections.ArrayList getListenersList()

addListener

public void addListener(java.lang.Object target)
Adds a RowSetListener.
Specified by:
addListener in interface NavigatableRowIterator
Parameters:
target - the listener to add.

removeListener

public void removeListener(java.lang.Object target)
Removes a RowSetListener.
Specified by:
removeListener in interface NavigatableRowIterator
Parameters:
target - the listener to remove.

trimNoDataRows

public void trimNoDataRows()
This method walks through ViewCriteriaRow's in this ViewCriteria and removes those rows that have no data.

setUseAttributeFormatHint

public void setUseAttributeFormatHint(boolean flag)
Turn this flag off to get the 904 and earlier behavior where attribute formatters are not consulated for equality critiera.

isUseAttributeFormatHint

public boolean isUseAttributeFormatHint()

add

public void add(int index,
                java.lang.Object element)
Specified by:
add in interface java.util.List

add

public boolean add(java.lang.Object o)
Specified by:
add in interface java.util.List

addAll

public boolean addAll(java.util.Collection c)
Specified by:
addAll in interface java.util.List

addAll

public boolean addAll(int index,
                      java.util.Collection c)
Specified by:
addAll in interface java.util.List

addElement

public void addElement(java.lang.Object obj)

clear

public void clear()
Specified by:
clear in interface java.util.List

insertElementAt

public void insertElementAt(java.lang.Object obj,
                            int index)

remove

public java.lang.Object remove(int index)
Specified by:
remove in interface java.util.List

remove

public boolean remove(java.lang.Object o)
Specified by:
remove in interface java.util.List

removeAll

public boolean removeAll(java.util.Collection c)
Specified by:
removeAll in interface java.util.List

removeAllElements

public void removeAllElements()

removeElement

public boolean removeElement(java.lang.Object obj)

removeElementAt

public void removeElementAt(int index)

removeRange

protected void removeRange(int fromIndex,
                           int toIndex)

retainAll

public boolean retainAll(java.util.Collection c)
Specified by:
retainAll in interface java.util.List

set

public java.lang.Object set(int index,
                            java.lang.Object element)
Specified by:
set in interface java.util.List

setElementAt

public void setElementAt(java.lang.Object obj,
                         int index)

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


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