Overview | Package | Class | Tree | Deprecated | Index | Help
| Oracle Application Development Framework Model and Business Components Java API Reference 10g Release 3 (10.1.3) B16005-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## oracle.jbo.common.ws
Class WSViewObjectImpl

`java.lang.Object
java.util.AbstractMap
oracle.jbo.common.JboAbstractMap
oracle.jbo.common.ws.WSObject
oracle.jbo.common.ws.WSAMComponent
oracle.jbo.common.ws.WSRowSetIteratorBase
oracle.jbo.common.ws.WSViewObjectImpl`

All Implemented Interfaces:
  ComponentObject, Exportable, java.util.Map, NavigatableRowIterator, Properties, RowIterator, RowSet, RowSetIterator, java.io.Serializable, StructureDef, VariableManagerOwner, ViewObject, WSRowSet, XMLInterface

public class WSViewObjectImpl
extends WSRowSetIteratorBase
implements ViewObject, WSRowSet, java.io.Serializable, Exportable

See Also:
  Serialized Form

Nested Class Summary

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

Field Summary

Fields inherited from class oracle.jbo.common.ws.WSRowSetIteratorBase
`mListeners, mMgmtListeners, mName`

Fields inherited from class oracle.jbo.common.ws.WSAMComponent
`mMsgBundleClass`

Fields inherited from class oracle.jbo.common.ws.WSObject
`mVariableOpers`

Fields inherited from interface oracle.jbo.ViewObject
`QUERY_MODE_SCAN_DATABASE_TABLES, QUERY_MODE_SCAN_ENTITY_ROWS, QUERY_MODE_SCAN_VIEW_ROWS, QUERY_TIMEOUT_WAIT_FOREVER`

Fields inherited from interface oracle.jbo.RowSet
`FORWARD_ONLY, RANGE_PAGING, RANGE_PAGING_AUTO_POST, SCROLLABLE`

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`

Fields inherited from interface oracle.jbo.XMLInterface
`XML_IGNORE_DEPTH_COUNT, XML_OPT_ALL_ROWS, XML_OPT_ASSOC_CONSISTENT, XML_OPT_CHANGES_ONLY, XML_OPT_LIMIT_RANGE`

Method Summary
`AttributeDef` | `addDynamicAttribute(java.lang.String attrName)` Adds a dynamic attribute (an AttributeDefImpl) to this view object's row set.
`void` | `addQueryMode(int queryMode)` Adds query mode for the view object.
`void` | `applyViewCriteria(ViewCriteria criteria)` Applies the view criteria to this view object.
`boolean` | `cancelQuery()` Cancels a running query.
`void` | `clearCache()` Clears the view object cache.
`void` | `closeRowSet()` Closes the row set.
`void` | `closeRowSetIterator()` Closes this row set iterator.
`RowSet` | `createDetailRowSet(java.lang.String rsName, java.lang.String linkDefName)` Creates a detail Row Set.
`RowSet` | `createRowSet(java.lang.String name)` Creates and returns a new (secondary) row set for this view object.
`RowSetIterator` | `createRowSetIterator(java.lang.String name)` Creates an iterator for the row set.
`ViewCriteria` | `createViewCriteria()` Creates a new view criteria (that is, "Query by Example") object for this view object.
`void` | `defineNamedWhereClauseParam(java.lang.String name, java.lang.Object defaultValue, int[] indices)` Defines a named bind variable to use with the view object's where-clause.
`void` | `executeQuery()` Executes the query.
`void` | `executeQuery2(boolean resetCurrency, boolean force)`
`AttributeDef` | `findAttributeDef(java.lang.String name)` Gets an attribute definition, given its name.
`RowSetIterator` | `findOrCreateRowSetIterator(java.lang.String name)`
`RowSet` | `findRowSet(java.lang.String name)` Gets the named row set that was created at runtime for this view object.
`RowSetIterator` | `findRowSetIterator(java.lang.String name)` Gets the named row set iterator that was created at runtime for this row set.
`AttributeDef` | `findViewLinkAccessor(ViewLink vl)` Finds the view link accessor attribute.
`WSRowSetImpl` | `findWSRowSet(java.lang.String name)`
`byte` | `getAccessMode()`
`AccTravDef` | `getAccessorTraversalDef()`
`ApplicationModule` | `getApplicationModule()` Gets the row set's application module that contains this row set.
`AttributeDef[]` | `getAttrDefsForEntityAttr(java.lang.String eoName, java.lang.String eoAttrName)` Returns the definitions of view attributes that are mapped to the entity attribute identified by the entity name (the `eoName` parameter) and the entity attribute name (the `eoAttrName`).
`int` | `getAttributeCount()` Returns the number of defined attributes.
`AttributeDef` | `getAttributeDef(int index)` Gets an attribute definition, given its index.
`AttributeDef[]` | `getAttributeDefs()` Gets the defined attributes.
`int` | `getAttributeIndexOf(java.lang.String name)` Finds the index (0-based) of the named attribute.
`java.lang.String` | `getDefFullName()` Returns the fully qualified name of the structure's base definition.
`java.lang.String` | `getDefName()` Returns the structure's base definition name (short form).
`RowSet[]` | `getDetailRowSets()` Gets an array of detail Row Sets for which this Iterator is the master.
`long` | `getEstimatedRowCount()` Counts the number of rows in the collection defined by the view object's query.
`java.lang.String` | `getFullName()` Returns the structure's fully qualified name.
`java.lang.Object` | `getImplObject()`
`int` | `getIterMode()` Gets the current iteration mode.
`AttributeDef[]` | `getKeyAttributeDefs()` Returns the attribute definitions that make up the constituents of the key object for rows returned from this view object.
`RowSetIterator[]` | `getMasterRowSetIterators()` Return all controlling masters of this row set.
`int` | `getMaxFetchSize()` Maximum number of rows to fetch for this view object.
`java.lang.String` | `getOrderByClause()` Returns the query's ORDER BY clause.
`WSObject` | `getParent()`
`java.util.Hashtable` | `getProperties()` Gets the table of properties.
`java.lang.Object` | `getProperty(java.lang.String hintName)` Retrieves the specified property, if it exists.
`java.lang.String` | `getQuery()` Returns the query statement.
`int` | `getQueryMode()` Gets the current query mode of this view object.
`java.lang.String` | `getQueryOptimizerHint()` Returns query optimizer Hint set for this ViewObject or for its definition object.
`int` | `getQueryTimeOut()` Returns the current query time out value.
`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.
`RowMatch` | `getRowMatch()` Gets the in-memory filter (`RowMatch`) for the view object.
`RowSet` | `getRowSet()` Gets the Row Set that this Iterator belongs to.
`RowSetIterator[]` | `getRowSetIterators()` Gets all row set iterators that belong to this row set.
`RowSet[]` | `getRowSets()` Gets all row sets that belong to this view object.
`java.lang.String` | `getSortBy()`
`java.lang.Object` | `getSyncLock()` Gets the locking object for this Row Set Iterator.
`ViewCriteria` | `getViewCriteria()` Gets the view criteria for this view object.
`java.lang.String[]` | `getViewLinkNames()` Constructs an array of names of view links that involve this view object.
`ViewObject` | `getViewObject()` Gets the view object that owns this row set.
`java.lang.String` | `getWhereClause()` Gets the query's where-clause.
`java.lang.Object[]` | `getWhereClauseParams()` Gets the bind variable values to be used with the view object's where-clause.
`boolean` | `hasAccessorTraversalDef()`
`java.lang.Object` | `invokeExportedMethod(java.lang.String methodName, java.lang.String[] argTypes, java.lang.Object[] args)`
`boolean` | `isAssociationConsistent()` Returns the flag indicating whether association-consistent mode is on or not.
`boolean` | `isExecuted()` Returns true if the current ViewObject's query has been executed for this row set.
`boolean` | `isExecuteQuery()`
`boolean` | `isFetchComplete()` Tests if the query result set has been fetched to the end.
`boolean` | `isForwardOnly()` Tests if the row set is constrained to sequential access.
`boolean` | `isInternal()` Returns whether this view object was created internally by BC4J or by an explicit user request.
`boolean` | `isMaxFetchSizeExceeded()` Tests if the query result has been fetched to the end and the end was reached due to hitting the maxFetchSize limit
`boolean` | `isOnLine()`
`boolean` | `isReadOnly()` Tests if the view object is read-only.
`boolean` | `isRefreshDataModel()`
`boolean` | `isRowValidation()` Gets the validation flag on this iterator.
`AttributeDef` | `lookupAttributeDef(java.lang.String name)` Gets an attribute definition, given its name.
`void` | `markForError(java.lang.Exception ex, boolean hasImplObject)`
`void` | `readRowXML(Element elem, int depthCount)` Reads the data in XML form (in the format as generated by writeXML()) by finding a row that matches the key in the given XML and then reading in that row.
`void` | `readRowXML(Element elem, int depthCount, XSLStylesheet xslt)`
`void` | `readXML(Element elem, int depthCount)`
`void` | `readXML(Element elem, int depthCount, XSLStylesheet xslt)`
`void` | `refreshDataModel()`
`void` | `refreshDataModel2(boolean resetCurrency, boolean force)`
`java.lang.Object` | `refreshProperty(java.lang.String hintName)` Retrieves the specified property, if it exists.
`void` | `remove()` Deletes this component.
`boolean` | `removeMasterRowSetIterator(RowSetIterator masterRSI)` Removes a master row set iterator.
`void` | `removeNamedWhereClauseParam(java.lang.String name)` Removes a named where-clause parameter.
`void` | `requestEstimatedRowCount()`
`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 amount)` Moves the row set range start to the given page index where every page consists of RangeSize number of rows.
`void` | `setAccessMode(byte accessMode)` Constrains the row access based on the following settings:
`void` | `setAccessorTraversalByNamePaths(java.lang.String[] namePaths)`
`void` | `setAccessorTraversalDef(AccTravDef accTravDef)`
`void` | `setAssociationConsistent(boolean isAssociationConsistent)` Sets the association-consistent flag for this row set.
`void` | `setForwardOnly(boolean isForwardOnly)` Constrains the row set to sequential access.
`void` | `setImplObject(java.lang.Object o)`
`void` | `setIterMode(int mode)` Sets the iteration mode for this Row Iterator.
`boolean` | `setMasterRowSetIterator(RowSetIterator masterRSI)` Sets the master iterator.
`void` | `setMaxFetchSize(int max)` Maximum number of rows to fetch for this view object.
`void` | `setNamedWhereClauseParam(java.lang.String name, java.lang.Object value)` Sets the value of a named where-clause parameter for this row set.
`void` | `setOrderByClause(java.lang.String expr)` Sets the ORDER BY clause of the view object's query statement.
`void` | `setQueryMode(int queryMode)` Sets query mode for the view object.
`void` | `setQueryOptimizerHint(java.lang.String hintText)` If this ViewObject does not have an expert mode query, then this hint is added to the select clause of the SQL for this ViewObject before the columns are listed e.g., SELECT \/*+ <hintText> *\/ columns...
`void` | `setQueryTimeOut(int queryTimeOut)` Sets the query time out value for the view object.
`int` | `setRangeSize(int size)` Modifies the size of the Row Set Iterator range.
`int` | `setRangeStart(int start)` Moves the Row Set Iterator range.
`void` | `setRowMatch(RowMatch rowMatch)` Sets an in-memory filter (`RowMatch`) for the view object.
`void` | `setRowValidation(boolean flag)` Sets the validation flag on this iterator.
`void` | `setSortBy(java.lang.String sortBy)`
`void` | `setWhereClause(java.lang.String cond)` Sets a where-clause bind value of the view object's query statement.
`void` | `setWhereClauseParam(int index, java.lang.Object value)` Specifies a single bind variable value to use with the view object's where-clause.
`void` | `setWhereClauseParams(java.lang.Object[] values)` Specifies the bind variable values to use with the view object's where-clause.
`void` | `skipNamedWhereClauseParam(java.lang.String name)` Skips the named where-clause parameter for this row set.
`Node` | `writeXML(int depthCount, long options)` Renders data in a canonical XML-format.
`Node` | `writeXML(int depthCount, long options, XSLStylesheet xslt)`
`Node` | `writeXML(long options, com.sun.java.util.collections.HashMap voAttrMap)` Renders data in a canonical XML-format.
`Node` | `writeXML(long options, com.sun.java.util.collections.HashMap voAttrMap, XSLStylesheet xslt)`

Methods inherited from class oracle.jbo.common.ws.WSRowSetIteratorBase
`addListener, addManagementListener, createAndInitRow, createKey, createRow, enumerateRowsInRange, findAndSetCurrentRowByKey, findByEntity, findByKey, findByViewCriteria, first, getAllRowsInRange, getCurrentRow, getCurrentRowIndex, getCurrentRowSlot, getEstimatedRangePageCount, getFetchedRowCount, getFilteredRows, getFilteredRowsInRange, getName, getNextRangeSet, getPreviousRangeSet, getRangeIndexOf, getRow, getRowAtRangeIndex, getRowCount, getRowCountInRange, hasNext, hasPrevious, insertRow, insertRowAtRangeIndex, isConnected, isNameGenerated, isRangeAtBottom, isRangeAtTop, last, next, previous, registerWSListeners, removeCurrentRow, removeCurrentRowAndRetain, removeCurrentRowFromCollection, removeListener, removeManagementListener, reset, setCurrentRow, setCurrentRowAtRangeIndex`

Methods inherited from class oracle.jbo.common.ws.WSAMComponent
`getMessageBundleClass, internalSetMessageBundleClass`

Methods inherited from class oracle.jbo.common.ws.WSObject
`ensureVariableManager, get, getId, getVariableManager, hasVariables`

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

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

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

Methods inherited from interface oracle.jbo.StructureDef
`getName`

Methods inherited from interface oracle.jbo.RowSet
`getName`

Methods inherited from interface oracle.jbo.RowSetIterator
`addManagementListener, getEstimatedRangePageCount, getFilteredRows, getFilteredRowsInRange, getNextRangeSet, getPreviousRangeSet, isNameGenerated, removeManagementListener`

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

Methods inherited from interface oracle.jbo.RowIterator
`createAndInitRow, createKey, createRow, enumerateRowsInRange, findByEntity, findByKey, findByViewCriteria, first, getAllRowsInRange, getCurrentRow, getCurrentRowIndex, getCurrentRowSlot, getFetchedRowCount, getRangeIndexOf, getRow, getRowAtRangeIndex, getRowCount, getRowCountInRange, hasNext, hasPrevious, insertRow, insertRowAtRangeIndex, isRangeAtBottom, isRangeAtTop, last, next, previous, removeCurrentRow, removeCurrentRowAndRetain, removeCurrentRowFromCollection, reset, setCurrentRow, setCurrentRowAtRangeIndex`

Methods inherited from interface oracle.jbo.VariableManagerOwner
`ensureVariableManager, getMessageBundleClass, getVariableManager, hasVariables`

Methods inherited from interface oracle.jbo.ComponentObject
`getName`

Method Detail

### isOnLine

    public boolean isOnLine()

### getParent

    public WSObject getParent()

  Specified by:
    `getParent` in class `WSObject`

### getImplObject

    public java.lang.Object getImplObject()

  Specified by:
    `getImplObject` in class `WSObject`

### setImplObject

    public void setImplObject(java.lang.Object o)

  Specified by:
    `setImplObject` in class `WSObject`

### markForError

    public void markForError(java.lang.Exception ex,
                             boolean hasImplObject)

  Specified by:
    `markForError` in class `WSObject`

### addDynamicAttribute

    public AttributeDef addDynamicAttribute(java.lang.String attrName)

  Description copied from interface: `ViewObject`
  Adds a dynamic attribute (an AttributeDefImpl) to this view object's row set.

  Dynamic attributes are typeless, in that the application can set the attribute value to any object. You can use a dynamic attribute to store information created at runtime that you want to store with the row data. It is used only by the view object that created it. Attributes can be any serializable (`java.io.Serializable`) object.

  This method should not be overridden.

  Specified by:
    `addDynamicAttribute` in interface `ViewObject`
  Parameters:
    `attrName` - the name of the dynamic attribute.
  Returns:
    the attribute definition the newly added dynamic attribute.

### setWhereClause

    public void setWhereClause(java.lang.String cond)

  Description copied from interface: `ViewObject`
  Sets a where-clause bind value of the view object's query statement.

  Bind variables can be specified using '?' as a place-holder for the value.

  The new where-clause does not take effect until `RowSet.executeQuery()` is called. If the where-clause contains where-clause parameters, `RowSet.setWhereClauseParam(int, Object)` or `RowSet.setWhereClauseParams(Object[])` needs to be called before `executeQuery()`.

  Note that calling `setWhereClause()` does not clear the previous settings of where-clause parameters. To reset where-clause parameters in the middle tier, call `RowSet.setWhereClauseParams(Object[])` explicitly with a `null` value. For example:

       vo.setWhereClauseParams(null);

  This method should not be overridden.
  Specified by:
    `setWhereClause` in interface `ViewObject`
  Parameters:
    `cond` - a where-clause, but excluding the 'WHERE' keyword.

### getWhereClause

    public java.lang.String getWhereClause()

  Description copied from interface: `ViewObject`
  Gets the query's where-clause. If the query does not have a where-clause, this method returns `null`.

  This where-clause is obtained from the view object instance. In the middle tier, to get the complete where-clause built from the view object instance, the view definition, the view criteria, and the view links use `ViewObjectImpl.buildWhereClause(java.lang.StringBuffer, int)`

  Specified by:
    `getWhereClause` in interface `ViewObject`
  Returns:
    the where-clause, excluding the 'WHERE' keyword; `null` if no where-clause exists.

### setOrderByClause

    public void setOrderByClause(java.lang.String expr)

  Description copied from interface: `ViewObject`
  Sets the ORDER BY clause of the view object's query statement. Bind variables can be specified using '?' as a place-holder for the value. The new ORDER BY clause does not take effect until `RowSet.executeQuery()` is called.

  This method should not be overridden.

  Specified by:
    `setOrderByClause` in interface `ViewObject`
  Parameters:
    `expr` - a ORDER BY clause, but excluding the 'ORDER BY' keywords.

### getOrderByClause

    public java.lang.String getOrderByClause()

  Description copied from interface: `ViewObject`
  Returns the query's ORDER BY clause. If the query does not have an ORDER BY clause, this method returns `null`.

  This method should not be overridden.

  Specified by:
    `getOrderByClause` in interface `ViewObject`
  Returns:
    a ORDER BY clause, but excluding the 'ORDER BY' keyword. `null` if the SQL statement has no ORDER BY clause.

### getQuery

    public java.lang.String getQuery()

  Description copied from interface: `ViewObject`
  Returns the query statement. Unlike `ViewObjectImpl.getUserDefinedQuery()` this method will return a SQL statement regardless of whether the query was created in expert or non-expert Mode.
  Specified by:
    `getQuery` in interface `ViewObject`
  Returns:
    the user-defined SQL query if one exists, otherwise, a query statement is assembled from defined from, where, and order by clauses.

### setRowMatch

    public void setRowMatch(RowMatch rowMatch)

  Description copied from interface: `ViewObject`
  Sets an in-memory filter (`RowMatch`) for the view object. While the where-clause is used when a database query is issued, the row match is used for qualifying rows in memory. Calling this method does not cause filtering of rows by the row match. To filter, `RowSet.executeQuery()` must be called.
  Specified by:
    `setRowMatch` in interface `ViewObject`
  Parameters:
    `rowMatch` - the new row match.

### getRowMatch

    public RowMatch getRowMatch()

  Description copied from interface: `ViewObject`
  Gets the in-memory filter (`RowMatch`) for the view object. While the where-clause is used when a database query is issued, the row match is used for qualifying rows in memory.
  Specified by:
    `getRowMatch` in interface `ViewObject`
  Returns:
    the current row match.

### setSortBy

    public void setSortBy(java.lang.String sortBy)

  Specified by:
    `setSortBy` in interface `ViewObject`

### getSortBy

    public java.lang.String getSortBy()

  Specified by:
    `getSortBy` in interface `ViewObject`

### setQueryMode

    public void setQueryMode(int queryMode)

  Description copied from interface: `ViewObject`
  Sets query mode for the view object. Query mode controls how qualifying rows are formulated for each row set in the view object.

  The `queryMode` parameter may be an OR'ed flag of `QUERY_MODE_SCAN_...` constants. See these constants for further details.

  Calling this method does not cause automatically cause the new query mode to go into effect. Call `RowSet.executeQuery()` to apply the new query mode.

  The default query mode is `QUERY_MODE_SCAN_DATABASE_TABLES`.

  Specified by:
    `setQueryMode` in interface `ViewObject`
  Parameters:
    `queryMode` - the new query mode.

### addQueryMode

    public void addQueryMode(int queryMode)

  Description copied from interface: `ViewObject`
  Adds query mode for the view object. Query mode controls how qualifying rows are formulated for each row set in the view object.

  The `queryMode` parameter may be an OR'ed flag of `QUERY_MODE_SCAN_...` constants. This method OR'es in the incoming `queryMode` to the view object's current query mode. See these constants for further details.

  Calling this method does not cause automatically cause the new query mode to go into effect. Call `RowSet.executeQuery()` to apply the new query mode.

  Specified by:
    `addQueryMode` in interface `ViewObject`
  Parameters:
    `queryMode` - the new query mode to be added (OR'ed).

### getQueryMode

    public int getQueryMode()

  Description copied from interface: `ViewObject`
  Gets the current query mode of this view object. Query mode controls how qualifying rows are formulated for each row set in the view object.

  The returning value may be an OR'ed flag of `QUERY_MODE_SCAN_...` constants. See these constants for further details.

  The default query mode is `QUERY_MODE_SCAN_DATABASE_TABLES`.

  Specified by:
    `getQueryMode` in interface `ViewObject`
  Returns:
    query mode.

### isReadOnly

    public boolean isReadOnly()

  Description copied from interface: `ViewObject`
  Tests if the view object is read-only.

  A view is read-only if it does not have primary keys or if all its entity references are reference-only.

  This method should not be overridden.

  Specified by:
    `isReadOnly` in interface `ViewObject`
  Returns:
    `true` if this view object is read-only; `false` if it is updateable.

### createRowSet

    public RowSet createRowSet(java.lang.String name)

  Description copied from interface: `ViewObject`
  Creates and returns a new (secondary) row set for this view object.
  Specified by:
    `createRowSet` in interface `ViewObject`
  Parameters:
    `name` - the name for the new `RowSet`.
  Returns:
    the new row set.

### getRowSets

    public RowSet[] getRowSets()

  Description copied from interface: `ViewObject`
  Gets all row sets that belong to this view object.
  Specified by:
    `getRowSets` in interface `ViewObject`
  Returns:
    the array of row sets.

### findRowSet

    public RowSet findRowSet(java.lang.String name)

  Description copied from interface: `ViewObject`
  Gets the named row set that was created at runtime for this view object.
  Specified by:
    `findRowSet` in interface `ViewObject`
  Parameters:
    `name` - a row set name. If `null`, it returns the the view object.
  Returns:
    the row set. `null` if the named row set is not not found.

### findWSRowSet

    public WSRowSetImpl findWSRowSet(java.lang.String name)

### getViewLinkNames

    public java.lang.String[] getViewLinkNames()

  Description copied from interface: `ViewObject`
  Constructs an array of names of view links that involve this view object.

  A view link may use this view object as either its source or destination. This method should not be overridden.

  Specified by:
    `getViewLinkNames` in interface `ViewObject`
  Returns:
    the array of view link names.

### createViewCriteria

    public ViewCriteria createViewCriteria()

  Description copied from interface: `ViewObject`
  Creates a new view criteria (that is, "Query by Example") object for this view object. A view criteria object is an alternative to using an arbitrary SQL statement. A view criteria is a list of row criteria for a view object's where-clause, where a row criteria is an array containing criteria for the individual attributes.

  A view criteria is a more structured way of creating a SQL query where-clause. After setting various conditions for the view criteria object, the application can call `applyViewCriteria`

  This method should not be overridden.

  Specified by:
    `createViewCriteria` in interface `ViewObject`
  Returns:
    the new view criteria object.
  See Also:
    `ViewCriteria`, `ViewObject.applyViewCriteria(ViewCriteria)`

### applyViewCriteria

    public void applyViewCriteria(ViewCriteria criteria)

  Description copied from interface: `ViewObject`
  Applies the view criteria to this view object.

  View criteria rows are ORed together, while entries in the same row are ANDed together.

  This method should not be overridden.

  Specified by:
    `applyViewCriteria` in interface `ViewObject`
  Parameters:
    `criteria` - a view criteria object.

### getViewCriteria

    public ViewCriteria getViewCriteria()

  Description copied from interface: `ViewObject`
  Gets the view criteria for this view object.

  This method should not be overridden.

  Specified by:
    `getViewCriteria` in interface `ViewObject`
  Returns:
    the view criteria, or `null` if none is specified.

### findViewLinkAccessor

    public AttributeDef findViewLinkAccessor(ViewLink vl)

  Description copied from interface: `ViewObject`
  Finds the view link accessor attribute.
  Specified by:
    `findViewLinkAccessor` in interface `ViewObject`
  Parameters:
    `vl` - the view link whose accessor is being sought.
  Returns:
    the attribute definition if one is found. `null` if not.

### getKeyAttributeDefs

    public AttributeDef[] getKeyAttributeDefs()

  Description copied from interface: `ViewObject`
  Returns the attribute definitions that make up the constituents of the key object for rows returned from this view object.

  This method is used to pass `AttributeDef[]` to the `Key.Key(String, AttributeDef[])` constructor to parse the constituent-bytes and convert them into value-objects that make up the key.

  Use this method to find out how the key is composed for the view row. The view object's key is a composite key, consisting of view attributes mapped to the primary keys of its entity objects.

  Specified by:
    `getKeyAttributeDefs` in interface `ViewObject`
  Returns:
    the array of attribute definitions.

### getAttrDefsForEntityAttr

    public AttributeDef[] getAttrDefsForEntityAttr(java.lang.String eoName,
                                                   java.lang.String eoAttrName)

  Description copied from interface: `ViewObject`
  Returns the definitions of view attributes that are mapped to the entity attribute identified by the entity name (the `eoName` parameter) and the entity attribute name (the `eoAttrName`).

  Note that it returns an array because more than one view object attribute may be mapped to one entity attribute.

  This method can be used to identify view attributes that map into a particular entity object attribute. In particular, if a validation error fails on an entity attribute, this method can be used to find view attributes that map into that entity attribute.

  Specified by:
    `getAttrDefsForEntityAttr` in interface `ViewObject`
  Parameters:
    `eoName` - fully qualified name of the entity object.
    `eoAttrName` - entity object attribute name.
  Returns:
    the array of attribute definitions.

### clearCache

    public void clearCache()

  Description copied from interface: `ViewObject`
  Clears the view object cache. This method can be called for resource conservation. Calling this method marks the view object and all its row sets as "needing to refresh its data". If another method that requires the result set is called (e.g., executeQuery(), next(), previous()) after this method, the query will be executed and the view object/row set's cache refreshed from the database.
  Specified by:
    `clearCache` in interface `ViewObject`

### getMaxFetchSize

    public int getMaxFetchSize()

  Description copied from interface: `ViewObject`
  Maximum number of rows to fetch for this view object. This number takes effect in when the query for this view object is executed the next time.
  Specified by:
    `getMaxFetchSize` in interface `ViewObject`

### setMaxFetchSize

    public void setMaxFetchSize(int max)

  Description copied from interface: `ViewObject`
  Maximum number of rows to fetch for this view object. This number takes effect the next time the query for this view object is executed.

  Passing -1 to this method will retrieve an unlimited number of rows. This is the default.

  Passing 0 to this method will cause the database query not to be executed. The view object will initially work with an empty row set. If you want to execute query later, call `setMaxFetchSize` again with a non-zero argument, then call `executeQuery()`.

  Specified by:
    `setMaxFetchSize` in interface `ViewObject`
  Parameters:
    `max` - the maximum number of rows to fetch. The default, -1, retrieves an unlimited number of rows. 0 causes the query not to be executed, and row set is empty.

### setQueryOptimizerHint

    public void setQueryOptimizerHint(java.lang.String hintText)

  Description copied from interface: `ViewObject`
  If this ViewObject does not have an expert mode query, then this hint is added to the select clause of the SQL for this ViewObject before the columns are listed e.g., SELECT \/*+ <hintText> *\/ columns... For expert mode queries, this hint is appended in the outer select like: SELECT \/*+ <hintText> *\/ * FROM (<expert-query>)
  Specified by:
    `setQueryOptimizerHint` in interface `ViewObject`

### getQueryOptimizerHint

    public java.lang.String getQueryOptimizerHint()

  Description copied from interface: `ViewObject`
  Returns query optimizer Hint set for this ViewObject or for its definition object.
  Specified by:
    `getQueryOptimizerHint` in interface `ViewObject`

### isInternal

    public boolean isInternal()

  Description copied from interface: `ViewObject`
  Returns whether this view object was created internally by BC4J or by an explicit user request.
  Specified by:
    `isInternal` in interface `ViewObject`
  Returns:
    a flag indicating whether the view object is internal or not.

### readRowXML

    public void readRowXML(Element elem,
                           int depthCount)

  Description copied from interface: `ViewObject`
  Reads the data in XML form (in the format as generated by writeXML()) by finding a row that matches the key in the given XML and then reading in that row. If the row is not found, it tries to insert that row into this ViewObject with the attribute values from XML.

  The `depthcount` parameter represents to what level the rendering should recurse. A `depthcount` of zero (0) means do not traverse any view links while rendering. One (1) means traverse the view links on this object but no view links thereafter, and so on.

  Specified by:
    `readRowXML` in interface `ViewObject`

### readRowXML

    public void readRowXML(Element elem,
                           int depthCount,
                           XSLStylesheet xslt)

  Specified by:
    `readRowXML` in interface `ViewObject`

### getAttributeDefs

    public AttributeDef[] getAttributeDefs()

  Description copied from interface: `StructureDef`
  Gets the defined attributes.
  Specified by:
    `getAttributeDefs` in interface `StructureDef`
  Returns:
    an array of attribute definitions.

### getAttributeCount

    public int getAttributeCount()

  Description copied from interface: `StructureDef`
  Returns the number of defined attributes.
  Specified by:
    `getAttributeCount` in interface `StructureDef`
  Returns:
    the number of attributes.

### findAttributeDef

    public AttributeDef findAttributeDef(java.lang.String name)

  Description copied from interface: `StructureDef`
  Gets an attribute definition, given its name.
  Specified by:
    `findAttributeDef` in interface `StructureDef`
  Parameters:
    `name` - the name of an `AttributeDef`.
  Returns:
    an attribute definition

### lookupAttributeDef

    public AttributeDef lookupAttributeDef(java.lang.String name)

  Description copied from interface: `StructureDef`
  Gets an attribute definition, given its name.
  Specified by:
    `lookupAttributeDef` in interface `StructureDef`
  Parameters:
    `name` - the name of an `AttributeDef`.
  Returns:
    an attribute definition if found, null otherwise

### getAttributeDef

    public AttributeDef getAttributeDef(int index)

  Description copied from interface: `StructureDef`
  Gets an attribute definition, given its index.
  Specified by:
    `getAttributeDef` in interface `StructureDef`
  Parameters:
    `index` - the index of an `AttributeDef`, where the leftmost attribute has index zero.
  Returns:
    an attribute definition.

### getAttributeIndexOf

    public int getAttributeIndexOf(java.lang.String name)

  Description copied from interface: `StructureDef`
  Finds the index (0-based) of the named attribute.
  Specified by:
    `getAttributeIndexOf` in interface `StructureDef`
  Parameters:
    `name` - the attribute's name.
  Returns:
    an integer in the range `0` to `getAttributeCount() - 1`. If the named attribute is not found, it returns -1.

### getDefName

    public java.lang.String getDefName()

  Description copied from interface: `StructureDef`
  Returns the structure's base definition name (short form). Note that, in some cases, a StructureDef may have an instance name and definition name. For example, for a View Object, `getName()` returns the VO's instance name and `getDefName()` returns the View definition's name.
  Specified by:
    `getDefName` in interface `StructureDef`
  Returns:
    name of the structure's base definition.

### getDefFullName

    public java.lang.String getDefFullName()

  Description copied from interface: `StructureDef`
  Returns the fully qualified name of the structure's base definition. Note that, in some cases, a StructureDef may have an instance name and definition name. For example, for a View Object, `getFullName()` returns the VO's full instance name and `getDefFullName()` returns the View definition's full name.
  Specified by:
    `getDefFullName` in interface `StructureDef`
  Returns:
    fully qualified name of the structure's base definition.

### getFullName

    public java.lang.String getFullName()

  Description copied from interface: `StructureDef`
  Returns the structure's fully qualified name.
  Specified by:
    `getFullName` in interface `StructureDef`
  Overrides:
    `getFullName` in class `WSObject`

### remove

    public void remove()

  Description copied from interface: `ComponentObject`
  Deletes this component.
  Specified by:
    `remove` in interface `ComponentObject`

### setMasterRowSetIterator

    public boolean setMasterRowSetIterator(RowSetIterator masterRSI)

  Description copied from interface: `RowSet`
  Sets the master iterator.
  Specified by:
    `setMasterRowSetIterator` in interface `RowSet`
  Parameters:
    `masterRSI` - the new master row set iterator for this row set.
  Returns:
    `true` if the operation succeeded.

### getViewObject

    public ViewObject getViewObject()

  Description copied from interface: `RowSet`
  Gets the view object that owns this row set.

  If this row set is the result of calling a view link accessor, the returned view object is an internal view object. ``ViewObject.isInternal()`` indicates whether the view object is internal or not. Even if a view link is defined between the master and detail view object, and even if an instance of them are included in the application module's data model, calling the view link by default uses a separate view object instance from the one in the AM's data model. To access the view link accessor's ViewObject, use the following code snippet (assuming that the detail side is called "MyDetail"):

          RowSet detailRS = (RowSet) masterViewRow.getMyDetail();
          ViewObject detailVO = detailRS.getViewObject();

  Specified by:
    `getViewObject` in interface `RowSet`
  Returns:
    the parent view object.

### setWhereClauseParams

    public void setWhereClauseParams(java.lang.Object[] values)

  Description copied from interface: `RowSet`
  Specifies the bind variable values to use with the view object's where-clause.

  Setting the where-clause bind values through this method does not automatically execute the query. You must call ``RowSet.executeQuery()`` to apply the new bind values.

  Specified by:
    `setWhereClauseParams` in interface `RowSet`
  Parameters:
    `values` - an array of bind values. If the view object is using the JDBC style bindings (`"?"` for bind variable), `values[n]` is bound to the bind variable that appears in the n-th order (0 based indexing). If the view object is using the Oracle style bindings (`":1", ":2",` etc. for bind variable), `values[n]` is bound to the bind variable `:(n+1)`, i.e., `values[0]` is bound to `:1`, `values[1]` is bound to `:2`, etc.

### setWhereClauseParam

    public void setWhereClauseParam(int index,
                                    java.lang.Object value)

  Description copied from interface: `RowSet`
  Specifies a single bind variable value to use with the view object's where-clause.

  Setting the where-clause bind values through this method does not automatically execute the query. You must call ``RowSet.executeQuery()`` to apply the new bind values.

  Specified by:
    `setWhereClauseParam` in interface `RowSet`
  Parameters:
    `index` - the index identifying the bind variable. If the view object is using the JDBC style bindings (`"?"` for bind variable), `value` is bound to the bind variable that appears in the `index-th` order (0 based indexing). If the view object is using the Oracle style bindings (`":1", ":2",` etc. for bind variable), `value` is bound to the bind variable `:(index+1)`. If `index` is 0, `value` is bound to `:1`. If `index` is 1, `value` is bound to `:2`.
    `value` - the bind variable value.

### defineNamedWhereClauseParam

    public void defineNamedWhereClauseParam(java.lang.String name,
                                            java.lang.Object defaultValue,
                                            int[] indices)

  Description copied from interface: `RowSet`
  Defines a named bind variable to use with the view object's where-clause.

  This named where-clause parameter will be defined as a variable on the view object. That is, if a named where-clause parameter is defined through one row set, all other row sets that belongs to the same parent view object will "see" that parameter.

  Through the `defaultValue`, one can specify the default value for this where-clause parameter. If no default value is supplied, `null` will be used as the parameter value.

  The `indices` parameter specifies where-clause parameter indices into which this named parameter will be bound. The same value can be bound into multiple indices. For example, if `{ 1, 2 }` is specified for `indices`, the value will be bound for where-clause parameter indices of 1 and 2. I.e., this parameter will produce `setWhereClauseParam(1, value)` and `setWhereClauseParam(2, value)`.

  This method can be invoked to redefine an existing named where-clause paramter (to change the default value and the indices) only if the named parameter is found on the view object. If the named parameter/variable is found on one of the parent objects, a new where-clause parameter definition is still added to the view object.

  When redefining, a check is made to ensure that the existing variable has no kind specification (`null`) or is of the `"where"` kind (which means that the existing variable is a where-clause parameter). If not, an `InvalidParamException` is thrown.

  Defining a named where-clause parameter does not automatically execute the query. You must call ``RowSet.executeQuery()`` to apply the new bind value.

  Specified by:
    `defineNamedWhereClauseParam` in interface `RowSet`
  Parameters:
    `name` - the name of the where-clause parameter.
    `defaultValue` - specifies the default value for this where-clause parameter. This default value can be overridden through a call to `setNamedWhereClauseParam()`.
    `indices` - where-clause indices into which this parameter value should be bound. See above.

### removeNamedWhereClauseParam

    public void removeNamedWhereClauseParam(java.lang.String name)

  Description copied from interface: `RowSet`
  Removes a named where-clause parameter.

  This method removes previously defined named where-clause parameter. A check is made to ensure that the variable being removed is a where-clause parameter (variable kind = `"where"`). If not, an `InvalidParamException` is thrown.

  If the named where-clause parameter is found but it does not belong to the view object that owns this row set, an `InvalidOperException` is thrown. This means one is disallowed from removing a named where-clause parameter that belongs to the View definition, for example.

  Removing a named where-clause parameter does not automatically execute the query. You must call ``RowSet.executeQuery()`` for the removal to take effect.

  Specified by:
    `removeNamedWhereClauseParam` in interface `RowSet`
  Parameters:
    `name` - the name of the where-clause parameter to remove.

### setNamedWhereClauseParam

    public void setNamedWhereClauseParam(java.lang.String name,
                                         java.lang.Object value)

  Description copied from interface: `RowSet`
  Sets the value of a named where-clause parameter for this row set.

  If the view object owns multiple row sets, each row set may have its own (different) named where-clause parameter value.

  Setting a named where-clause parameter does not automatically execute the query. You must call ``RowSet.executeQuery()`` to apply the new bind value.

  Specified by:
    `setNamedWhereClauseParam` in interface `RowSet`
  Parameters:
    `name` - the name of the where-clause parameter.
    `value` - the where-clause parameter value for this row set.

### skipNamedWhereClauseParam

    public void skipNamedWhereClauseParam(java.lang.String name)

  Description copied from interface: `RowSet`
  Skips the named where-clause parameter for this row set. This method does not remove the named where-clause parameter. However, it "masks out" the named where-clause parameter, so that the parameter is skipped when the query is executed.

  Skipping a named where-clause parameter does not automatically execute the query. You must call ``RowSet.executeQuery()`` for the skip to take effect.

  Specified by:
    `skipNamedWhereClauseParam` in interface `RowSet`
  Parameters:
    `name` - the name of the where-clause parameter.

### getWhereClauseParams

    public java.lang.Object[] getWhereClauseParams()

  Description copied from interface: `RowSet`
  Gets the bind variable values to be used with the view object's where-clause.
  Specified by:
    `getWhereClauseParams` in interface `RowSet`
  Returns:
    an array of bind-variable values.

### executeQuery

    public void executeQuery()

  Description copied from interface: `RowSet`
  Executes the query.
  Specified by:
    `executeQuery` in interface `RowSet`

### executeQuery2

    public void executeQuery2(boolean resetCurrency,
                              boolean force)

  Specified by:
    `executeQuery2` in interface `WSRowSet`

### isExecuteQuery

    public boolean isExecuteQuery()

  Specified by:
    `isExecuteQuery` in interface `WSRowSet`

### isRefreshDataModel

    public boolean isRefreshDataModel()

  Specified by:
    `isRefreshDataModel` in interface `WSRowSet`

### refreshDataModel

    public void refreshDataModel()

  Specified by:
    `refreshDataModel` in interface `WSRowSet`

### refreshDataModel2

    public void refreshDataModel2(boolean resetCurrency,
                                  boolean force)

  Specified by:
    `refreshDataModel2` in interface `WSRowSet`

### requestEstimatedRowCount

    public void requestEstimatedRowCount()

  Specified by:
    `requestEstimatedRowCount` in interface `WSRowSet`

### setAccessorTraversalByNamePaths

    public void setAccessorTraversalByNamePaths(java.lang.String[] namePaths)

  Specified by:
    `setAccessorTraversalByNamePaths` in interface `WSRowSet`

### setAccessorTraversalDef

    public void setAccessorTraversalDef(AccTravDef accTravDef)

  Specified by:
    `setAccessorTraversalDef` in interface `WSRowSet`

### getAccessorTraversalDef

    public AccTravDef getAccessorTraversalDef()

  Specified by:
    `getAccessorTraversalDef` in interface `WSRowSet`

### hasAccessorTraversalDef

    public boolean hasAccessorTraversalDef()

  Specified by:
    `hasAccessorTraversalDef` in interface `WSRowSet`

### isExecuted

    public boolean isExecuted()

  Description copied from interface: `RowSet`
  Returns true if the current ViewObject's query has been executed for this row set.
  Specified by:
    `isExecuted` in interface `RowSet`
  Returns:
    `true` if query has been executed.

### createRowSetIterator

    public RowSetIterator createRowSetIterator(java.lang.String name)

  Description copied from interface: `RowSet`
  Creates an iterator for the row set.
  Specified by:
    `createRowSetIterator` in interface `RowSet`
  Parameters:
    `name` - the name to be given to the iterator.
  Returns:
    an iterator for `this`.

### getRowSetIterators

    public RowSetIterator[] getRowSetIterators()

  Description copied from interface: `RowSet`
  Gets all row set iterators that belong to this row set.
  Specified by:
    `getRowSetIterators` in interface `RowSet`
  Returns:
    the array of row set iterators.

### findRowSetIterator

    public RowSetIterator findRowSetIterator(java.lang.String name)

  Description copied from interface: `RowSet`
  Gets the named row set iterator that was created at runtime for this row set.
  Specified by:
    `findRowSetIterator` in interface `RowSet`
  Parameters:
    `name` - a row set iterator name. If `null`, it returns the the row set.
  Returns:
    the row set iterator. `null` if the named row set iterator is not not found.

### findOrCreateRowSetIterator

    public RowSetIterator findOrCreateRowSetIterator(java.lang.String name)

  Specified by:
    `findOrCreateRowSetIterator` in interface `WSRowSet`

### removeMasterRowSetIterator

    public boolean removeMasterRowSetIterator(RowSetIterator masterRSI)

  Description copied from interface: `RowSet`
  Removes a master row set iterator.
  Specified by:
    `removeMasterRowSetIterator` in interface `RowSet`
  Parameters:
    `masterRSI` - the iterator to be removed.
  Returns:
    `true` if `masterRS` was found, `false` otherwise.

### getMasterRowSetIterators

    public RowSetIterator[] getMasterRowSetIterators()

  Description copied from interface: `RowSet`
  Return all controlling masters of this row set.
  Specified by:
    `getMasterRowSetIterators` in interface `RowSet`
  Returns:
    An array of master iterators.

### getApplicationModule

    public ApplicationModule getApplicationModule()

  Description copied from interface: `RowSet`
  Gets the row set's application module that contains this row set.

  Strictly speaking, a row set belongs to a view object and the view object to an application module. This method returns the application module that cotains the view object, which contains this row set.

  If this row set is the result of calling a View Link accessor, this row set belongs to an internal view object (see ``ViewObject.isInternal()``). Such an internal view object belongs to the root application module. Put differently, if you call this method on a row set which is the result of calling a View Link accessor, it will return the root application module.

  Specified by:
    `getApplicationModule` in interface `RowSet`

### getEstimatedRowCount

    public long getEstimatedRowCount()

  Description copied from interface: `RowSet`
  Counts the number of rows in the collection defined by the view object's query.

  This method uses a "SELECT COUNT(1) FROM (<query-statement>)" query to obtained the initial count. After that, changes to row count (such as insertion and deletion of rows) is kept up to date.

  However, since the row counting query and the query to retrieve actual rows are issued at two different times, it is possible for the accurate count to change between these two points. This is why this method is named `getEstimatedRowCount()`.

  Specified by:
    `getEstimatedRowCount` in interface `RowSet`
  Returns:
    an estimated number of rows.

### isForwardOnly

    public boolean isForwardOnly()

  Description copied from interface: `RowSet`
  Tests if the row set is constrained to sequential access.
  Specified by:
    `isForwardOnly` in interface `RowSet`
  Returns:
    `true` if the row set is restricted to forward-only processing.
  See Also:
    `RowSet.setForwardOnly(boolean)`

### setForwardOnly

    public void setForwardOnly(boolean isForwardOnly)

  Description copied from interface: `RowSet`
  Constrains the row set to sequential access.

  When set to `true`, a row preceeding the current row cannot be designated as the new current row. This restriction allows performance to be optimized.

  Specified by:
    `setForwardOnly` in interface `RowSet`
  Parameters:
    `isForwardOnly` - `true` restricts the row set to forward-only processing, `false` otherwise.

### getAccessMode

    public byte getAccessMode()

  Specified by:
    `getAccessMode` in interface `RowSet`
  Returns:
    Returns the current access mode for this row set.
  See Also:
    `RowSet.setAccessMode(byte)`

### setAccessMode

    public void setAccessMode(byte accessMode)

  Description copied from interface: `RowSet`
  Constrains the row access based on the following settings:

  Switching access modes for a rowset will not take effect until the next explicit call to executeQuery. Switching accessmode back to SCROLLABLE from any other mode is not allowed.

  Specified by:
    `setAccessMode` in interface `RowSet`
  Parameters:
    `accessMode` - One of the four enumerated values ``RowSet.SCROLLABLE``, ``RowSet.FORWARD_ONLY``, ``RowSet.RANGE_PAGING``, ``RowSet.RANGE_PAGING_AUTO_POST``.

### setAssociationConsistent

    public void setAssociationConsistent(boolean isAssociationConsistent)

  Description copied from interface: `RowSet`
  Sets the association-consistent flag for this row set.

  Association-consistent mode allows the user to see new rows created/inserted through another view object. Note that this mode is effective only for view objects that are entity based. If the view object has no entity base, this mode has no effect.

  Suppose we have an entity named E. Suppose two view objects, V1 and V2 are based on E. (V1 and V2 do not have to come from the same view definition.) Suppose the user creates a new row through V1. This creates an instance of E as well. The new entity row is registered only when its primary key is attribute set. At this time, an event is sent out to all view objects based on E, i.e., V1 and V2.

  When V2 receives this event, it enumerates through all its collections (essentially its row sets--strictly speaking its query collections) looking for those whose `isAssociationConsistent()` value is true. For each row set whose flag value is true (say R2), it checks to see if it has any view row mapped to the new entity row. If not, it create a new view row and maps it to the new entity row. A `rowInserted` event fires.

  Thus, from the user's view point, R2 is "seeing" the new row, although the row has not yet been posted to database. Hence, setting this flag to `true` enables the user to see new rows before the row is posted/queried when the view object is entity based.

  If flag is false or if the view object is not entity based, the user needs to post the new row through ``Transaction.postChanges()`` and requery the row set through ``RowSet.executeQuery()`` to see the new row.

  The default value for this flag can be globally controlled through the `jbo.viewlink.consistent` property. Its value can be `true`, `false`, or `DEFAULT`. If the property is not specified, the default value is `DEFAULT`. A similar property `jbo.assoc.consistent` controls whether the new-row-appearing behavior should be supported for row sets returned from entity association accessor calls. For `jbo.assoc.consistent`, supported values are `true` or `false`.

  If the property value is set to `true`, all row sets will have `true` for its initial `isAssociationConsistent()` value. If the property value is set to `false`, all row sets will have `false` for its initial value. If the property value is set to `DEFAULT` (which is the default), the view object will use the following logic to compute its initial `isAssociationConsistent()` value: if the view object has multiple entity bases that are updateable, then the initial value is `false`. If the view object has a where-clause, then the initial value is `false`. Otherwise, it is true.

  Once this method is called to set the flag value manually, neither the property setting nor the view object's initial flag value has an effect.

  Specified by:
    `setAssociationConsistent` in interface `RowSet`
  Parameters:
    `isAssociationConsistent` - indicates whether association-consistency should be on or not.

### isAssociationConsistent

    public boolean isAssociationConsistent()

  Description copied from interface: `RowSet`
  Returns the flag indicating whether association-consistent mode is on or not.
  Specified by:
    `isAssociationConsistent` in interface `RowSet`
  Returns:
    `true` if un-posted new rows are to appear, `false` otherwise. This flag has no effect if the view object is not entity based.
  See Also:
    `RowSet.setAssociationConsistent(boolean)`

### closeRowSet

    public void closeRowSet()

  Description copied from interface: `RowSet`
  Closes the row set. It closes all row set iterators that belong to this row set. If this row set is a detail row set in a master-detail relationship, `closeRowSet` removes this row set from the master row set iterator.
  Specified by:
    `closeRowSet` in interface `RowSet`

### isFetchComplete

    public boolean isFetchComplete()

  Description copied from interface: `RowSet`
  Tests if the query result set has been fetched to the end.
  Specified by:
    `isFetchComplete` in interface `RowSet`
  Returns:
    `true` if the result set has been fetched to the end.

### isMaxFetchSizeExceeded

    public boolean isMaxFetchSizeExceeded()

  Description copied from interface: `RowSet`
  Tests if the query result has been fetched to the end and the end was reached due to hitting the maxFetchSize limit
  Specified by:
    `isMaxFetchSizeExceeded` in interface `RowSet`
  Returns:
    `true` if the result set has been fetched to the maxFetchSize limit and there are still more rows in the database.

### getProperty

    public java.lang.Object getProperty(java.lang.String hintName)

  Description copied from interface: `Properties`
  Retrieves the specified property, if it exists.
  Specified by:
    `getProperty` in interface `Properties`
  Parameters:
    `hintName` - Property name.
  Returns:
    the value of the property, if any, otherwise `null`.

### refreshProperty

    public java.lang.Object refreshProperty(java.lang.String hintName)

  Description copied from interface: `Properties`
  Retrieves the specified property, if it exists. If the application running in a 3 tier environment, it retrieves the property from the middle-tier server, refreshing the value on the client side. If the application is running in a 2 tier environment, it is equivalent to `getProperty`.
  Specified by:
    `refreshProperty` in interface `Properties`
  Parameters:
    `hintName` - Property name.
  Returns:
    the value of the property, if any, otherwise `null`.

### getProperties

    public java.util.Hashtable getProperties()

  Description copied from interface: `Properties`
  Gets the table of properties.
  Specified by:
    `getProperties` in interface `Properties`
  Returns:
    a hashtable of properties.

### writeXML

    public Node writeXML(int depthCount,
                         long options)

  Description copied from interface: `XMLInterface`
  Renders data in a canonical XML-format. The classes `ViewObjectImpl` and `ViewRowImpl` implement this method to render data in XML.

  Use this method whenever data is required in XML format, either to present a UI (after converting XML data into some HTTP format using a stylesheet) or to pass the data as payload for messages via JMS.

  The `depthcount` parameter represents to what level the rendering should recurse. A `depthcount` of zero (0) means do not traverse any View Links while rendering. One (1) means traverse the View Links on this object but no View Links thereafter, and so on.

  The `options` parameter represents a set of bit flags that will control the `writeXML` behavior. The following bit flags have been defined:

  - `public static long XML_OPT_LIMIT_RANGE = 0x00000001` - Controls whether `writeXML` will only write rows in the range. If this flag is off, all rows in the row set will be written. If this flag is on, only rows in the current range will be written.
  - `public static long XML_OPT_CHANGES_ONLY = 0x00000002` - Controls whether only changed attribute values of an entity row is written. If this is on, only the attributes whose value has been marked as "changed" will be written. If this is off, all attributes (regardless of whether the attribute value has been changed or not) will be written. This flag is relevant only when writing `EntityImpl`.
  Specified by:
    `writeXML` in interface `XMLInterface`
  Parameters:
    `depthCount` - represents to what level the rendering should recurse.
    `options` - a set of bit flags that will control the `writeXML` behavior.

### writeXML

    public Node writeXML(int depthCount,
                         long options,
                         XSLStylesheet xslt)

  Specified by:
    `writeXML` in interface `XMLInterface`

### readXML

    public void readXML(Element elem,
                        int depthCount)

  Specified by:
    `readXML` in interface `XMLInterface`

### readXML

    public void readXML(Element elem,
                        int depthCount,
                        XSLStylesheet xslt)

  Specified by:
    `readXML` in interface `XMLInterface`

### writeXML

    public Node writeXML(long options,
                         com.sun.java.util.collections.HashMap voAttrMap)

  Description copied from interface: `XMLInterface`
  Renders data in a canonical XML-format. The classes `ViewObjectImpl` and `ViewRowImpl` implement this method to render data in XML.

  Use this method whenever data is required in XML format, either to present a UI (after converting XML data into some HTTP format using a stylesheet) or to pass the data as payload for messages via JMS.

  The `options` parameter represents a set of bit flags that will control the `writeXML` behavior. The following bit flags have been defined:

  - `public static long XML_OPT_LIMIT_RANGE = 0x00000001` - Controls whether `writeXML` will only write rows in the range. If this flag is off, all rows in the row set will be written. If this flag is on, only rows in the current range will be written.
  - `public static long XML_OPT_CHANGES_ONLY = 0x00000002` - Controls whether only changed attribute values of an entity row is written. If this is on, only the attributes whose value has been marked as "changed" will be written. If this is off, all attributes (regardless of whether the attribute value has been changed or not) will be written. This flag is relevant only when writing `EntityImpl`.

  The `voAttrMap` parameter represents in a hashmap, the mapping between a given ViewObject's definition type and the corresponding Attributes/accessors to render. A null entry in the hashmap means, render all attributes and accessors of that viewobject type.

  Specified by:
    `writeXML` in interface `XMLInterface`
  Parameters:
    `options` - a set of bit flags that will control the `writeXML`
    `voAttrMap` - HashMap containing Definition names of ViewObjects and an array of AttributeDef to render for a ViewObject of that definition type.

### writeXML

    public Node writeXML(long options,
                         com.sun.java.util.collections.HashMap voAttrMap,
                         XSLStylesheet xslt)

  Specified by:
    `writeXML` in interface `XMLInterface`

### getRowSet

    public RowSet getRowSet()

  Description copied from interface: `RowSetIterator`
  Gets the Row Set that this Iterator belongs to.
  Specified by:
    `getRowSet` in interface `RowSetIterator`
  Specified by:
    `getRowSet` in class `WSRowSetIteratorBase`

### getDetailRowSets

    public RowSet[] getDetailRowSets()

  Description copied from interface: `RowSetIterator`
  Gets an array of detail Row Sets for which this Iterator is the master.

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

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

  Specified by:
    `getDetailRowSets` in interface `RowSetIterator`
  Specified by:
    `getDetailRowSets` in class `WSRowSetIteratorBase`

### createDetailRowSet

    public RowSet createDetailRowSet(java.lang.String rsName,
                                     java.lang.String linkDefName)

  Description copied from interface: `RowSetIterator`
  Creates a detail Row Set. See ``RowSetIterator.getDetailRowSets()`` for explanation of detail Row Sets.

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

  Specified by:
    `createDetailRowSet` in interface `RowSetIterator`
  Specified by:
    `createDetailRowSet` in class `WSRowSetIteratorBase`

### closeRowSetIterator

    public void closeRowSetIterator()

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

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

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

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

### getSyncLock

    public java.lang.Object getSyncLock()

  Description copied from interface: `RowSetIterator`
  Gets the locking object for this Row Set Iterator. Actually, this method locks the Application Module to which this Row Set Iterator belongs. See `ApplicationModule.getSyncLock()` for details.
  Specified by:
    `getSyncLock` in interface `RowSetIterator`
  Specified by:
    `getSyncLock` in class `WSRowSetIteratorBase`

### setRangeSize

    public int setRangeSize(int size)

  Description copied from interface: `RowIterator`
  Modifies the size of the Row Set Iterator range.

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

  Specified by:
    `setRangeSize` in interface `RowIterator`
  Specified by:
    `setRangeSize` in class `WSRowSetIteratorBase`

### getRangeSize

    public int getRangeSize()

  Description copied from interface: `RowIterator`
  Gets the size of the Row Set Iterator range.
  Specified by:
    `getRangeSize` in interface `RowIterator`
  Specified by:
    `getRangeSize` in class `WSRowSetIteratorBase`

### getRangeStart

    public int getRangeStart()

  Description copied from interface: `RowIterator`
  Gets the absolute row index of the first row in the Row Set Iterator range.

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

  Specified by:
    `getRangeStart` in interface `RowIterator`
  Specified by:
    `getRangeStart` in class `WSRowSetIteratorBase`

### setRangeStart

    public int setRangeStart(int start)

  Description copied from interface: `RowIterator`
  Moves the Row Set Iterator range.

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

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

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

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

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

  Specified by:
    `setRangeStart` in interface `RowIterator`
  Specified by:
    `setRangeStart` in class `WSRowSetIteratorBase`

### scrollRange

    public int scrollRange(int amount)

  Description copied from interface: `RowIterator`
  Moves the Row Set Iterator range up or down a given number of rows.
  Specified by:
    `scrollRange` in interface `RowIterator`
  Specified by:
    `scrollRange` in class `WSRowSetIteratorBase`

### scrollToRangePage

    public int scrollToRangePage(int amount)

  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`
  Overrides:
    `scrollToRangePage` in class `WSRowSetIteratorBase`

### scrollRangeTo

    public int scrollRangeTo(Row row,
                             int index)

  Description copied from interface: `RowIterator`
  Scrolls the range to place a given row at a given range index.
  Specified by:
    `scrollRangeTo` in interface `RowIterator`
  Specified by:
    `scrollRangeTo` in class `WSRowSetIteratorBase`

### setRowValidation

    public void setRowValidation(boolean flag)

  Description copied from interface: `RowIterator`
  Sets the validation flag on this iterator. By default a RowIterator validates the current row when navigating to another row. This method can be used to turn this row-validation off by passing 'false' as parameter.
  Specified by:
    `setRowValidation` in interface `RowIterator`
  Specified by:
    `setRowValidation` in class `WSRowSetIteratorBase`

### isRowValidation

    public boolean isRowValidation()

  Description copied from interface: `RowIterator`
  Gets the validation flag on this iterator. By default a RowIterator validates the current row when navigating to another row. This method returns TRUE if this row-validation is turned off.
  Specified by:
    `isRowValidation` in interface `RowIterator`
  Specified by:
    `isRowValidation` in class `WSRowSetIteratorBase`

### getIterMode

    public int getIterMode()

  Description copied from interface: `RowIterator`
  Gets the current iteration mode. See Iteration Modes above for details on iteration mode which controls how the range behaves when it reaches the end of the Row Set.
  Specified by:
    `getIterMode` in interface `RowIterator`
  Specified by:
    `getIterMode` in class `WSRowSetIteratorBase`

### setIterMode

    public void setIterMode(int mode)

  Description copied from interface: `RowIterator`
  Sets the iteration mode for this Row Iterator. See Iteration Modes above for details on iteration mode which controls how the range behaves when it reaches the end of the Row Set.
  Specified by:
    `setIterMode` in interface `RowIterator`
  Specified by:
    `setIterMode` in class `WSRowSetIteratorBase`

### invokeExportedMethod

    public java.lang.Object invokeExportedMethod(java.lang.String methodName,
                                                 java.lang.String[] argTypes,
                                                 java.lang.Object[] args)

  Specified by:
    `invokeExportedMethod` in interface `Exportable`

### getQueryTimeOut

    public int getQueryTimeOut()

  Description copied from interface: `ViewObject`
  Returns the current query time out value. The default is `QUERY_TIMEOUT_WAIT_FOREVER`.
  Specified by:
    `getQueryTimeOut` in interface `ViewObject`
  Returns:
    the current query time out value.

### setQueryTimeOut

    public void setQueryTimeOut(int queryTimeOut)

  Description copied from interface: `ViewObject`
  Sets the query time out value for the view object. The default is `QUERY_TIMEOUT_WAIT_FOREVER` (-1), which means that the query will not time out. The user will be able to cancel the long running query by calling `cancelQuery()`

  If a positive timeout value is specified, the query is monitored by a global monitor thread. The monitor thread waits the specified amount of time (approximately) in milli-seconds, and cancels the query by calling JDBC's `Statement.cancel()`.

  Specified by:
    `setQueryTimeOut` in interface `ViewObject`
  Parameters:
    `queryTimeOut` - if non-negative, number of milli-seconds before the query is timed out. Or, it can be the `QUERY_TIMEOUT_WAIT_FOREVER` constants.

### cancelQuery

    public boolean cancelQuery()

  Description copied from interface: `RowSet`
  Cancels a running query.
  Specified by:
    `cancelQuery` in interface `RowSet`
  Returns:
    a flag indicating whether the request to cancel was honored or not. It will return `false` if the JDBC statement is not executing a query.

Overview | Package | Class | Tree | Deprecated | Index | Help
| Oracle Application Development Framework Model and Business Components Java API Reference 10g Release 3 (10.1.3) B16005-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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