|
Oracle Fusion Middleware Java API Reference for Oracle ADF Model 11g Release 1 (11.1.1.9.0) E52932-01 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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
public class WSViewObjectImpl
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.util.AbstractMap |
---|
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V> |
Nested classes/interfaces inherited from interface java.util.Map |
---|
java.util.Map.Entry<K,V> |
Field Summary |
---|
Fields inherited from class oracle.jbo.common.ws.WSRowSetIteratorBase |
---|
mListeners, mMgmtListeners, mName |
Fields inherited from class oracle.jbo.common.ws.WSObject |
---|
mVariableOpers |
Fields inherited from class oracle.jbo.common.JboAbstractMap |
---|
MAP_NULL_VALUE |
Fields inherited from interface oracle.jbo.ViewObject |
---|
IMAGE_LOC, PROP_ALWAYS_USE_SORT, QUERY_MODE_SCAN_DATABASE_TABLES, QUERY_MODE_SCAN_ENTITY_ROWS, QUERY_MODE_SCAN_UNPOSTED_ENTITY_ROWS, QUERY_MODE_SCAN_VIEW_ROWS, QUERY_MODE_SKIP_WHERE, QUERY_TIMEOUT_WAIT_FOREVER, XML_ELEM_PASSIVATE_TRANSIENT |
Fields inherited from interface oracle.jbo.GenericHints |
---|
DEFINITION_STATE_ACTIVE, DEFINITION_STATE_DEPRECATED, PROPERTY_DEFINITION_STATE, PROPERTY_LABEL, PROPERTY_LABEL_PLURAL, PROPERTY_TOOLTIP |
Fields inherited from interface oracle.jbo.RowSet |
---|
COPY_OPT_ALL_ROWS, COPY_OPT_LIMIT_RANGE, FORWARD_ONLY, RANGE_PAGING, RANGE_PAGING_AUTO_POST, RANGE_PAGING_INCR, 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, XML_PASSIVATION_USE |
Method Summary | |
---|---|
AttributeDef |
addDynamicAttribute(java.lang.String attrName) Adds a dynamic attribute (an AttributeDefImpl) to this view object's row set. |
AttributeDef |
addDynamicAttributeWithType(java.lang.String attrName, java.lang.String javaTypeName, java.lang.String transientExpression) |
void |
addQueryMode(int queryMode) Adds query mode for the view object. |
void |
applyViewCriteria(ViewCriteria criteria) Applies the view criteria to this view object. |
void |
applyViewCriteria(ViewCriteria criteria, boolean bAppend) Applied 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. |
RowSet |
deepCopy(java.util.HashMap voAttrMap, long options) This method delegates to the default RowSet . |
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 |
executeEmptyRowSet() |
void |
executeQuery() Executes the query. |
void |
executeQuery2(boolean resetCurrency, boolean force, boolean emptyRowSet) |
AttributeDef |
findAttributeDef(java.lang.String name) Gets an attribute definition, given its name. |
ListBindingDef |
findListBindingDef(java.lang.String lbName) Return listbinding definition if defined in this ViewObject (or in the entity definitions for entities that this ViewObject constitutes of). |
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() |
RowSetIterator |
getAllRowsIterator(RowSet rs) If the given rowset is a scrollable collection which has not hit the maxFetchSize and yet is fetchcomplete, then return a separate rowsetiterator on the given rowset. |
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. |
long |
getCappedRowCount(long cap) |
java.lang.String |
getColumnNameForQuery(int index) |
AttributeHints |
getCriteriaItemAttributeHints(ViewCriteriaItem vci) By default return null. |
SortCriteria[] |
getDBSortCriteria() |
long |
getDeferredEstimatedRowCount() If this ViewObject is marked to not perform the estimatedRowCount query, then return -1 until either the estimatedRowCount is called and the count is known or the RowSet is fetched completely in which case the actual row count is known. |
java.lang.String |
getDefFullName() Returns the fully qualified name of the structure's base definition. |
java.lang.String |
getDefinitionState(LocaleContext locale) Retrives the definition state string that indicates if this object is deprecated. |
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.util.List |
getForwardDependencyAttributes(java.lang.String attName) |
java.lang.String |
getFullName() Returns the structure's fully qualified name. |
java.lang.String |
getHintValue(LocaleContext locale, java.lang.String sHintName) Return hint value based on the hint 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. |
java.lang.String |
getLabel(LocaleContext locale) Retrieves the label to be used in any attribute prompts |
java.lang.String |
getLabelPlural(LocaleContext locale) Retrives the LabelPlural text to be used for this attribute |
RowSetIterator[] |
getMasterRowSetIterators() Return all controlling masters of this row set. |
int |
getMaxFetchSize() Maximum number of rows to fetch for this view object. |
java.lang.Object |
getNamedWhereClauseParam(java.lang.String name) Gets the value of a named where-clause parameter for this row set. |
AttributeList |
getNamedWhereClauseParams() Gets all the Name, value pairs of a named where-clause parameter of the viewObject. |
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.Object |
getProperty(java.lang.String hintName, LocaleContext locale) |
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 |
getRangePagingCacheFactor() |
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. |
ViewCriteria |
getRequiredViewCriteria() This method returns a reference to the required view criteria if one exists on this View Object. |
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() |
SortCriteria[] |
getSortCriteria() |
java.lang.String[] |
getSubstitutedDefNames() Returns an array of fully qualified view definition names that are substituted by this view object's definition. |
java.lang.Object |
getSyncLock() Gets the locking object for this Row Set Iterator. |
java.lang.String |
getTooltip(LocaleContext locale) Retrives the tooltip text to be used for this attribute |
ViewCriteria |
getViewCriteria() Gets the currently applied view criteria of this view object. |
ViewCriteriaManager |
getViewCriteriaManager() |
AttributeHints |
getViewCriteriaRowAttributeHints(AttributeDef attr, ViewCriteriaRow vcr, ViewCriteria vc) Subclasses may override to return custom ViewCriteriaRow specific AttributeHints implementation for the given attribute. |
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 |
isDefaultRowSet() Internal: Applications should not use this method. |
boolean |
isExecuted() Returns true if the current ViewObject's query has been executed for this row set. |
boolean |
isExecutedEmpty() Returns true if the current ViewObject's query has been executed with empty 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 |
isPolymorphicDefinition() |
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. |
ListBindingDef |
lookupListBindingDef(java.lang.String lbName) Return listbinding definition if defined in this ViewObject (or in the entity definitions for entities that this ViewObject constitutes of). |
void |
markForError(java.lang.Exception ex, boolean hasImplObject) |
void |
processCriteriaItemOperators(ViewCriteriaItem vci, java.util.List compOperList) Subclasses may override this method to modify the supported operators list for a ViewCriteriaItem. |
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() |
void |
resetExecuted() This method delegates to the default RowSet . |
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 |
setDBSortCriteria(SortCriteria[] sortCriteria) Set declarative sort criteria for database queries. |
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 |
setNamedWhereClauseParams(AttributeList attrlist) Sets the value of a named where-clause parameters for the entire viewObject. |
void |
setOrderByClause(java.lang.String expr) Sets the ORDER BY clause of the view object's query statement. |
java.lang.String |
setOrderByOrSortBy(SortCriteria[] sortCriteria) Set declarative sort criteria for either database query or in-memory sort. |
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. |
void |
setRangePagingCacheFactor(int f) |
int |
setRangeSize(int size) Modifies the size of the Row Set Iterator range. |
int |
setRangeStart(int start) Moves the Row Set Iterator range. |
void |
setRequiredViewCriteria(ViewCriteria criteria) Setting a view criteria as required will enforce the criteria whenever the view object's query is executed. |
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) Specify a clause to perform in-memory sorting. |
void |
setSortCriteria(SortCriteria[] sortCriteria) Set declarative sort criteria for in-memory sort. |
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, java.util.HashMap voAttrMap) Renders data in a canonical XML-format. |
Node |
writeXML(long options, java.util.HashMap voAttrMap, XSLStylesheet xslt) |
Methods inherited from class oracle.jbo.common.ws.WSAMComponent |
---|
getMessageBundleClass, getResourceBundleDef |
Methods inherited from class oracle.jbo.common.ws.WSObject |
---|
closeObject, ensureVariableManager, get, getId, getImageLoc, getVariableManager, hasVariables, setName |
Methods inherited from class oracle.jbo.common.JboAbstractMap |
---|
entrySet, equals, hashCode, internalGet, internalPut, put, setThrowIfPropertyNotFoundOnGet |
Methods inherited from class java.util.AbstractMap |
---|
clear, clone, containsKey, containsValue, isEmpty, keySet, putAll, remove, size, toString, values |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface oracle.jbo.StructureDef |
---|
getName |
Methods inherited from interface oracle.jbo.ComponentObject |
---|
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.VariableManagerOwnerBase |
---|
ensureVariableManager, getMessageBundleClass, getResourceBundleDef, getVariableManager, hasVariables |
Method Detail |
---|
public boolean isOnLine()
public WSObject getParent()
getParent
in class WSObject
public java.lang.Object getImplObject()
getImplObject
in class WSObject
public void setImplObject(java.lang.Object o)
setImplObject
in class WSObject
public void markForError(java.lang.Exception ex, boolean hasImplObject)
markForError
in class WSObject
public AttributeDef addDynamicAttribute(java.lang.String attrName)
ViewObject
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.
addDynamicAttribute
in interface ViewObject
attrName
- the name of the dynamic attribute.public AttributeDef addDynamicAttributeWithType(java.lang.String attrName, java.lang.String javaTypeName, java.lang.String transientExpression)
addDynamicAttributeWithType
in interface ViewObject
public void setWhereClause(java.lang.String cond)
ViewObject
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.
setWhereClause
in interface ViewObject
cond
- a where-clause, but excluding the 'WHERE' keyword.public java.lang.String getWhereClause()
ViewObject
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)
getWhereClause
in interface ViewObject
public java.lang.String getLabel(LocaleContext locale)
GenericHints
getLabel
in interface GenericHints
public java.lang.String getLabelPlural(LocaleContext locale)
GenericHints
getLabelPlural
in interface GenericHints
public java.lang.String getTooltip(LocaleContext locale)
GenericHints
getTooltip
in interface GenericHints
public java.lang.String getDefinitionState(LocaleContext locale)
GenericHints
getDefinitionState
in interface GenericHints
public java.lang.String getHintValue(LocaleContext locale, java.lang.String sHintName)
GenericHints
getHintValue
in interface GenericHints
public void setOrderByClause(java.lang.String expr)
ViewObject
RowSet.executeQuery()
is called.
This method should not be overridden.
setOrderByClause
in interface ViewObject
expr
- a ORDER BY clause, but excluding the 'ORDER BY' keywords.public java.lang.String getOrderByClause()
ViewObject
This method should not be overridden.
getOrderByClause
in interface ViewObject
public java.lang.String getQuery()
ViewObject
ViewObjectImpl.getUserDefinedQuery()
this method will return a SQL statement regardless of whether the query was created in expert or non-expert Mode.getQuery
in interface ViewObject
public void setRowMatch(RowMatch rowMatch)
ViewObject
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.setRowMatch
in interface ViewObject
rowMatch
- the new row match.public RowMatch getRowMatch()
ViewObject
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.getRowMatch
in interface ViewObject
public void setSortBy(java.lang.String sortBy)
ViewObject
setSortBy
in interface ViewObject
sortBy
- in-memory sort clausepublic java.lang.String getSortBy()
getSortBy
in interface ViewObject
ViewObject.setSortBy(String)
public void setDBSortCriteria(SortCriteria[] sortCriteria)
ViewObject
setDBSortCriteria
in interface ViewObject
sortCriteria
- an array of database sort criteria with an element for each attribute to sort withpublic SortCriteria[] getDBSortCriteria()
getDBSortCriteria
in interface ViewObject
ViewObject.setDBSortCriteria(SortCriteria[])
.public void setSortCriteria(SortCriteria[] sortCriteria)
ViewObject
setSortCriteria
in interface ViewObject
sortCriteria
- an array of database sort criteria with an element for each attribute to sort withpublic java.lang.String setOrderByOrSortBy(SortCriteria[] sortCriteria)
ViewObject
PROP_ALWAYS_USE_SORT
property is set to true
, it will always use in-memory sort. If the property is not true
and all attrs are db attrs, it will use db order by.setOrderByOrSortBy
in interface ViewObject
sortCriteria
- an array of sort criteria with an element for each attribute to sort with.null
.public SortCriteria[] getSortCriteria()
getSortCriteria
in interface ViewObject
ViewObject.setDBSortCriteria(SortCriteria[])
.public void setQueryMode(int queryMode)
ViewObject
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
.
setQueryMode
in interface ViewObject
queryMode
- the new query mode.public void addQueryMode(int queryMode)
ViewObject
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.
addQueryMode
in interface ViewObject
queryMode
- the new query mode to be added (OR'ed).public int getQueryMode()
ViewObject
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
.
getQueryMode
in interface ViewObject
public boolean isReadOnly()
ViewObject
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.
isReadOnly
in interface ViewObject
isReadOnly
in class WSObject
true
if this view object is read-only; false if it is updateable.public RowSet createRowSet(java.lang.String name)
ViewObject
createRowSet
in interface ViewObject
name
- the name for the new RowSet
.public RowSet[] getRowSets()
ViewObject
getRowSets
in interface ViewObject
public RowSet findRowSet(java.lang.String name)
ViewObject
findRowSet
in interface ViewObject
name
- a row set name. If null
, it returns the the view object.null
if the named row set is not not found.public WSRowSetImpl findWSRowSet(java.lang.String name)
public java.lang.String[] getViewLinkNames()
ViewObject
A view link may use this view object as either its source or destination. This method should not be overridden.
getViewLinkNames
in interface ViewObject
public ViewCriteria createViewCriteria()
ViewObject
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.
createViewCriteria
in interface ViewObject
ViewCriteria
, ViewObject.applyViewCriteria(ViewCriteria)
public void applyViewCriteria(ViewCriteria criteria)
ViewObject
applyViewCriteria
in interface ViewObject
criteria
- view criteria to be appliedpublic void applyViewCriteria(ViewCriteria criteria, boolean bAppend)
ViewObject
bAppend
is true
view criteria is appended to the list of already applied view criteria. If bAppend
is false
the applied view criteria list is cleared prior to applying the passed view criteria.applyViewCriteria
in interface ViewObject
criteria
- view criteria to be appliedbAppend
- flag to indicate if the applied view criteria list needs to be cleared before applying the view criteria.public ViewCriteria getViewCriteria()
ViewObject
getViewCriteria
in interface ViewObject
null
if none was applied.public ViewCriteriaManager getViewCriteriaManager()
getViewCriteriaManager
in interface ViewObject
public AttributeDef findViewLinkAccessor(ViewLink vl)
ViewObject
findViewLinkAccessor
in interface ViewObject
vl
- the view link whose accessor is being sought.null
if not.public AttributeDef[] getKeyAttributeDefs()
ViewObject
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.
getKeyAttributeDefs
in interface ViewObject
public AttributeDef[] getAttrDefsForEntityAttr(java.lang.String eoName, java.lang.String eoAttrName)
ViewObject
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.
getAttrDefsForEntityAttr
in interface ViewObject
eoName
- fully qualified name of the entity object.eoAttrName
- entity object attribute name.public void clearCache()
ViewObject
clearCache
in interface ViewObject
public int getMaxFetchSize()
ViewObject
getMaxFetchSize
in interface ViewObject
public void setMaxFetchSize(int max)
ViewObject
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().
setMaxFetchSize
in interface ViewObject
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.public void setQueryOptimizerHint(java.lang.String hintText)
ViewObject
setQueryOptimizerHint
in interface ViewObject
public java.lang.String getQueryOptimizerHint()
ViewObject
getQueryOptimizerHint
in interface ViewObject
public boolean isInternal()
ViewObject
isInternal
in interface ViewObject
public void readRowXML(Element elem, int depthCount)
ViewObject
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.
readRowXML
in interface ViewObject
public void readRowXML(Element elem, int depthCount, XSLStylesheet xslt)
readRowXML
in interface ViewObject
public AttributeDef[] getAttributeDefs()
StructureDef
getAttributeDefs
in interface StructureDef
public int getAttributeCount()
StructureDef
getAttributeCount
in interface StructureDef
public AttributeDef findAttributeDef(java.lang.String name)
StructureDef
findAttributeDef
in interface StructureDef
name
- the name of an AttributeDef
.public AttributeDef lookupAttributeDef(java.lang.String name)
StructureDef
lookupAttributeDef
in interface StructureDef
name
- the name of an AttributeDef
.public AttributeDef getAttributeDef(int index)
StructureDef
getAttributeDef
in interface StructureDef
index
- the index of an AttributeDef
, where the leftmost attribute has index zero.public int getAttributeIndexOf(java.lang.String name)
StructureDef
getAttributeIndexOf
in interface StructureDef
name
- the attribute's name.0
to getAttributeCount() - 1
. If the named attribute is not found, it returns -1.public java.lang.String getColumnNameForQuery(int index)
getColumnNameForQuery
in interface StructureDef
public java.lang.String getDefName()
StructureDef
getName()
returns the VO's instance name and getDefName()
returns the View definition's name.getDefName
in interface ComponentObject
getDefName
in interface StructureDef
public java.lang.String getDefFullName()
StructureDef
getFullName()
returns the VO's full instance name and getDefFullName()
returns the View definition's full name.getDefFullName
in interface ComponentObject
getDefFullName
in interface StructureDef
public java.lang.String[] getSubstitutedDefNames()
ViewObject
This method finds substituted def names recursively. That is, If A is substituted by B, and B by C, calling this method on a view object of C returns B and A.
getSubstitutedDefNames
in interface ViewObject
public java.lang.String getFullName()
StructureDef
getFullName
in interface ComponentObject
getFullName
in interface StructureDef
getFullName
in class WSObject
public void remove()
ComponentObject
remove
in interface ComponentObject
public boolean setMasterRowSetIterator(RowSetIterator masterRSI)
RowSet
setMasterRowSetIterator
in interface RowSet
masterRSI
- the new master row set iterator for this row set.true
if the operation succeeded.public ViewObject getViewObject()
RowSet
If this row set is the result of calling a view link accessor, the returned view object is an internal view object.
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"):ViewObject.isInternal()
RowSet detailRS = (RowSet) masterViewRow.getMyDetail(); ViewObject detailVO = detailRS.getViewObject();
getViewObject
in interface RowSet
public void setNamedWhereClauseParams(AttributeList attrlist)
RowSet
Setting a named where-clause parameter does not automatically execute the query. You must call
to apply the new bind value.RowSet.executeQuery()
setNamedWhereClauseParams
in interface RowSet
attrlist
- is a Name, value pair of bind variables.public AttributeList getNamedWhereClauseParams()
RowSet
It uses the method getNamedWhereClauseParam to return all the name,value pairs from VariableValueManager.
getNamedWhereClauseParams
in interface RowSet
public void setWhereClauseParams(java.lang.Object[] values)
RowSet
Setting the where-clause bind values through this method does not automatically execute the query. You must call
to apply the new bind values.RowSet.executeQuery()
setWhereClauseParams
in interface RowSet
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.public void setWhereClauseParam(int index, java.lang.Object value)
RowSet
Setting the where-clause bind values through this method does not automatically execute the query. You must call
to apply the new bind values.RowSet.executeQuery()
setWhereClauseParam
in interface RowSet
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.public void defineNamedWhereClauseParam(java.lang.String name, java.lang.Object defaultValue, int[] indices)
RowSet
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
to apply the new bind value.RowSet.executeQuery()
defineNamedWhereClauseParam
in interface RowSet
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.public void removeNamedWhereClauseParam(java.lang.String name)
RowSet
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
for the removal to take effect.RowSet.executeQuery()
removeNamedWhereClauseParam
in interface RowSet
name
- the name of the where-clause parameter to remove.public java.lang.Object getNamedWhereClauseParam(java.lang.String name)
RowSet
If the view object owns multiple row sets, each row set may have its own (different) named where-clause parameter value.
getNamedWhereClauseParam
in interface RowSet
name
- the name of the where-clause parameter.public void setNamedWhereClauseParam(java.lang.String name, java.lang.Object value)
RowSet
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
to apply the new bind value.RowSet.executeQuery()
setNamedWhereClauseParam
in interface RowSet
name
- the name of the where-clause parameter.value
- the where-clause parameter value for this row set.public void skipNamedWhereClauseParam(java.lang.String name)
RowSet
Skipping a named where-clause parameter does not automatically execute the query. You must call
for the skip to take effect.RowSet.executeQuery()
skipNamedWhereClauseParam
in interface RowSet
name
- the name of the where-clause parameter.public java.lang.Object[] getWhereClauseParams()
RowSet
getWhereClauseParams
in interface RowSet
public void executeQuery()
RowSet
executeQuery
in interface RowSet
public void executeEmptyRowSet()
executeEmptyRowSet
in interface RowSet
public void executeQuery2(boolean resetCurrency, boolean force, boolean emptyRowSet)
executeQuery2
in interface WSRowSet
public boolean isDefaultRowSet()
isDefaultRowSet
in interface RowSet
public boolean isExecuteQuery()
isExecuteQuery
in interface WSRowSet
public boolean isRefreshDataModel()
isRefreshDataModel
in interface WSRowSet
public void refreshDataModel()
refreshDataModel
in interface WSRowSet
public void refreshDataModel2(boolean resetCurrency, boolean force)
refreshDataModel2
in interface WSRowSet
public void requestEstimatedRowCount()
requestEstimatedRowCount
in interface WSRowSet
public void setAccessorTraversalByNamePaths(java.lang.String[] namePaths)
setAccessorTraversalByNamePaths
in interface WSRowSet
public void setAccessorTraversalDef(AccTravDef accTravDef)
setAccessorTraversalDef
in interface WSRowSet
public AccTravDef getAccessorTraversalDef()
getAccessorTraversalDef
in interface WSRowSet
public boolean hasAccessorTraversalDef()
hasAccessorTraversalDef
in interface WSRowSet
public boolean isExecuted()
RowSet
isExecuted
in interface RowSet
true
if query has been executed.public boolean isExecutedEmpty()
RowSet
isExecutedEmpty
in interface RowSet
true
if query has been executed with empty row set.public RowSetIterator createRowSetIterator(java.lang.String name)
RowSet
createRowSetIterator
in interface RowSet
name
- the name to be given to the iterator.this
.public RowSetIterator[] getRowSetIterators()
RowSet
getRowSetIterators
in interface RowSet
public RowSetIterator findRowSetIterator(java.lang.String name)
RowSet
findRowSetIterator
in interface RowSet
name
- a row set iterator name. If null
, it returns the the row set.null
if the named row set iterator is not not found.public RowSetIterator findOrCreateRowSetIterator(java.lang.String name)
findOrCreateRowSetIterator
in interface WSRowSet
public boolean removeMasterRowSetIterator(RowSetIterator masterRSI)
RowSet
removeMasterRowSetIterator
in interface RowSet
masterRSI
- the iterator to be removed.true
if masterRS
was found, false
otherwise.public RowSetIterator[] getMasterRowSetIterators()
RowSet
getMasterRowSetIterators
in interface RowSet
public ApplicationModule getApplicationModule()
RowSet
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
). 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.ViewObject.isInternal()
getApplicationModule
in interface RowSet
ApplicationModule
to which this row set belongs.public long getEstimatedRowCount()
RowSet
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()
.
getEstimatedRowCount
in interface RowSet
public long getDeferredEstimatedRowCount()
RowSet
getDeferredEstimatedRowCount
in interface RowSet
public long getCappedRowCount(long cap)
getCappedRowCount
in interface RowSet
public boolean isForwardOnly()
RowSet
isForwardOnly
in interface RowSet
true
if the row set is restricted to forward-only processing.RowSet.setForwardOnly(boolean)
public void setForwardOnly(boolean isForwardOnly)
RowSet
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.
setForwardOnly
in interface RowSet
isForwardOnly
- true
restricts the row set to forward-only processing, false
otherwise.public byte getAccessMode()
getAccessMode
in interface RowSet
RowSet.setAccessMode(byte)
public void setAccessMode(byte accessMode)
RowSet
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.
setAccessMode
in interface RowSet
accessMode
- One of the four enumerated values RowSet.SCROLLABLE
, RowSet.FORWARD_ONLY
, RowSet.RANGE_PAGING
, RowSet.RANGE_PAGING_AUTO_POST
.public int getRangePagingCacheFactor()
getRangePagingCacheFactor
in interface RowSet
public void setRangePagingCacheFactor(int f)
setRangePagingCacheFactor
in interface RowSet
public void setAssociationConsistent(boolean isAssociationConsistent)
RowSet
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
and requery the row set through Transaction.postChanges()
to see the new row.RowSet.executeQuery()
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.
setAssociationConsistent
in interface RowSet
isAssociationConsistent
- indicates whether association-consistency should be on or not.public boolean isAssociationConsistent()
RowSet
isAssociationConsistent
in interface RowSet
true
if un-posted new rows are to appear, false
otherwise. This flag has no effect if the view object is not entity based.RowSet.setAssociationConsistent(boolean)
public void closeRowSet()
RowSet
closeRowSet
removes this row set from the master row set iterator.closeRowSet
in interface RowSet
public boolean isFetchComplete()
RowSet
isFetchComplete
in interface RowSet
true
if the result set has been fetched to the end.public boolean isMaxFetchSizeExceeded()
RowSet
isMaxFetchSizeExceeded
in interface RowSet
true
if the result set has been fetched to the maxFetchSize limit and there are still more rows in the database.public java.lang.Object getProperty(java.lang.String hintName)
Properties
getProperty
in interface Properties
hintName
- Property name.null
.public java.lang.Object getProperty(java.lang.String hintName, LocaleContext locale)
getProperty
in interface Properties
public java.lang.Object refreshProperty(java.lang.String hintName)
Properties
getProperty
.refreshProperty
in interface Properties
hintName
- Property name.null
.public java.util.Hashtable getProperties()
Properties
getProperties
in interface Properties
public Node writeXML(int depthCount, long options)
XMLInterface
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:
EntityImpl
.writeXML
in interface XMLInterface
depthCount
- represents to what level the rendering should recurse.options
- a set of bit flags that will control the writeXML behavior.public Node writeXML(int depthCount, long options, XSLStylesheet xslt)
writeXML
in interface XMLInterface
public void readXML(Element elem, int depthCount)
readXML
in interface XMLInterface
public void readXML(Element elem, int depthCount, XSLStylesheet xslt)
readXML
in interface XMLInterface
public Node writeXML(long options, java.util.HashMap voAttrMap)
XMLInterface
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:
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.
writeXML
in interface XMLInterface
options
- a set of bit flags that will control the writeXMLvoAttrMap
- HashMap containing Definition names of ViewObjects and an array of AttributeDef to render for a ViewObject of that definition type.public Node writeXML(long options, java.util.HashMap voAttrMap, XSLStylesheet xslt)
writeXML
in interface XMLInterface
public RowSet getRowSet()
RowSetIterator
getRowSet
in interface RowSetIterator
getRowSet
in class WSRowSetIteratorBase
public RowSet[] getDetailRowSets()
RowSetIterator
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.
getDetailRowSets
in interface RowSetIterator
getDetailRowSets
in class WSRowSetIteratorBase
RowSet
.public RowSet createDetailRowSet(java.lang.String rsName, java.lang.String linkDefName)
RowSetIterator
RowSetIterator.getDetailRowSets()
for explanation of detail Row Sets.
This method creates a new detail Row Set for this Iterator.
createDetailRowSet
in interface RowSetIterator
createDetailRowSet
in class WSRowSetIteratorBase
rsName
- the name of the new detail Row Set.linkDefName
- the name of a View Link definition. This View Link chooses the relationship in which this Iterator is the master and the new Row Set is the detail. It must be a fully qualified name (including the package name).public void closeRowSetIterator()
RowSetIterator
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.
closeRowSetIterator
in interface RowSetIterator
closeRowSetIterator
in class WSRowSetIteratorBase
public java.lang.Object getSyncLock()
RowSetIterator
ApplicationModule.getSyncLock()
for details.getSyncLock
in interface RowSetIterator
getSyncLock
in class WSRowSetIteratorBase
public int setRangeSize(int size)
RowIterator
This method takes effect when the next set of data is fetched. For an example usage of setRangeSize, see setRangeStart.
setRangeSize
in interface RowIterator
setRangeSize
in class WSRowSetIteratorBase
size
- the new number of rows in the iterator range. Size of 0 is treated same as 1. Size < -1 is treated same as -1.RowIterator.setRangeStart(int)
public int getRangeSize()
RowIterator
getRangeSize
in interface RowIterator
getRangeSize
in class WSRowSetIteratorBase
public int getRangeStart()
RowIterator
The absolute index is 0-based, and is the row's index relative to the entire result set.
getRangeStart
in interface RowIterator
getRangeStart
in class WSRowSetIteratorBase
public int setRangeStart(int start)
RowIterator
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).
setRangeStart
in interface RowIterator
setRangeStart
in class WSRowSetIteratorBase
start
- the absolute index of the new first row in the Row Set Iterator range.public int scrollRange(int amount)
RowIterator
scrollRange
in interface RowIterator
scrollRange
in class WSRowSetIteratorBase
amount
- the number of rows to scroll. A negative value scrolls upward.public int scrollToRangePage(int amount)
RowSetIterator
(rangeSize * (pageSize-1)) - getRangeStart();
scrollToRangePage
in interface RowSetIterator
scrollToRangePage
in class WSRowSetIteratorBase
amount
- the page number to go to in the result set.public int scrollRangeTo(Row row, int index)
RowIterator
scrollRangeTo
in interface RowIterator
scrollRangeTo
in class WSRowSetIteratorBase
row
- the row.index
- the range index at which the row is to be found.public void setRowValidation(boolean flag)
RowIterator
setRowValidation
in interface RowIterator
setRowValidation
in class WSRowSetIteratorBase
flag
- Whether to turn row validation off or not.public boolean isRowValidation()
RowIterator
isRowValidation
in interface RowIterator
isRowValidation
in class WSRowSetIteratorBase
public int getIterMode()
RowIterator
getIterMode
in interface RowIterator
getIterMode
in class WSRowSetIteratorBase
public void setIterMode(int mode)
RowIterator
setIterMode
in interface RowIterator
setIterMode
in class WSRowSetIteratorBase
mode
- should be ITER_MODE_LAST_PAGE_PARTIAL if the iteration mode is to be "partial-last-page", ITER_MODE_LAST_PAGE_FULL if it is to be "full-last-page".public java.lang.Object invokeExportedMethod(java.lang.String methodName, java.lang.String[] argTypes, java.lang.Object[] args)
invokeExportedMethod
in interface Exportable
public int getQueryTimeOut()
ViewObject
QUERY_TIMEOUT_WAIT_FOREVER
.getQueryTimeOut
in interface ViewObject
public void setQueryTimeOut(int queryTimeOut)
ViewObject
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()
.
setQueryTimeOut
in interface ViewObject
queryTimeOut
- if non-negative, number of milli-seconds before the query is timed out. Or, it can be the QUERY_TIMEOUT_WAIT_FOREVER
constants.public boolean cancelQuery()
RowSet
cancelQuery
in interface RowSet
false
if the JDBC statement is not executing a query.public ListBindingDef lookupListBindingDef(java.lang.String lbName)
ViewObject
lookupListBindingDef
in interface ViewObject
public ListBindingDef findListBindingDef(java.lang.String lbName)
ViewObject
ViewObject.lookupListBindingDef(String)
throws an exception if a listbinding definition of name lbName
is not found.findListBindingDef
in interface ViewObject
lbName
- listbinding namepublic RowSet deepCopy(java.util.HashMap voAttrMap, long options)
RowSet
.deepCopy
in interface RowSet
voAttrMap
- a name value pair of a View Object name and an array of its AttributeDef
objects or an array of attribute names. A null
value for this parameter results in copying all the non-key attribute values of this RowSet
. View Links are not traversed for a null
value.options
- valid values are RowSet.COPY_OPT_ALL_ROWS
and RowSet.COPY_OPT_LIMIT_RANGE
.RowSet
RowSet.deepCopy(java.util.HashMap, long)
public void resetExecuted()
RowSet
.resetExecuted
in interface RowSet
RowSet.resetExecuted()
public void setRequiredViewCriteria(ViewCriteria criteria)
ViewObject
getViewCriteriaManager().clearViewCriterias
or getViewCriteriaManager().removeViewCriteria
API.setRequiredViewCriteria
in interface ViewObject
criteria
- Set the criteria as required view criteria for this view object instance.public ViewCriteria getRequiredViewCriteria()
ViewObject
ViewObject.setRequiredViewCriteria(oracle.jbo.ViewCriteria)
getRequiredViewCriteria
in interface ViewObject
public AttributeHints getCriteriaItemAttributeHints(ViewCriteriaItem vci)
getCriteriaItemAttributeHints
in interface ViewObject
public AttributeHints getViewCriteriaRowAttributeHints(AttributeDef attr, ViewCriteriaRow vcr, ViewCriteria vc)
getViewCriteriaRowAttributeHints
in interface ViewObject
public void processCriteriaItemOperators(ViewCriteriaItem vci, java.util.List compOperList)
processCriteriaItemOperators
in interface ViewObject
public java.util.List getForwardDependencyAttributes(java.lang.String attName)
getForwardDependencyAttributes
in interface ViewObject
public boolean isPolymorphicDefinition()
isPolymorphicDefinition
in interface ViewObject
public RowSetIterator getAllRowsIterator(RowSet rs)
ViewObject
getAllRowsIterator
in interface ViewObject
|
Oracle Fusion Middleware Java API Reference for Oracle ADF Model 11g Release 1 (11.1.1.9.0) E52932-01 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |