|
Oracle ADF Model and Business Components API Reference 10.1.2 B14022-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.WSRowSetImpl
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 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 | |
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. |
RowSetIterator |
createRowSetIterator(java.lang.String name)
Creates an iterator for the Row Set. |
void |
executeQuery()
Executes the View Object's query. |
void |
executeQuery2(boolean resetCurrency,
boolean force)
|
RowSetIterator |
findOrCreateRowSetIterator(java.lang.String name)
|
RowSetIterator |
findRowSetIterator(java.lang.String name)
Gets the named Row Set Iterator that was created at runtime for this Row Set. |
WSRowSetIteratorImpl |
findWSRowSetIterator(java.lang.String name)
|
byte |
getAccessMode()
|
AccTravDef |
getAccessorTraversalDef()
|
ApplicationModule |
getApplicationModule()
Gets the Row Set's Application Module that contains this Row Set. |
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.Object |
getImplObject()
|
int |
getIterMode()
Gets the current iteration mode. |
RowSetIterator[] |
getMasterRowSetIterators()
Return all controlling masters of this Row Set. |
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. |
int |
getRangeSize()
Gets the size of the Row Set Iterator range. |
int |
getRangeStart()
Gets the absolute row index of the first row in the Row Set Iterator range. |
RowSet |
getRowSet()
Gets the Row Set that this Iterator belongs to. |
RowSetIterator[] |
getRowSetIterators()
Gets all Row Set Iterators that belong to this Row Set. |
java.lang.Object |
getSyncLock()
Gets the locking object for this Row Set Iterator. |
ViewObject |
getViewObject()
Gets the View Object that contains this Row Set. |
java.lang.Object[] |
getWhereClauseParams()
Gets the bind variable values to be used with the View Object's where-clause. |
boolean |
hasAccessorTraversalDef()
|
boolean |
isAssociationConsistent()
Tests if association-consistent mode is on. |
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 |
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 |
isRefreshDataModel()
|
boolean |
isRowValidation()
Gets the validation flag on this iterator. |
void |
markForError(java.lang.Exception ex,
boolean hasImplObject)
|
void |
navigated(NavigationEvent event)
Invoked when the current-row designation changes. |
void |
rangeRefreshed(RangeRefreshEvent event)
Invoked when the range changes. |
void |
rangeScrolled(ScrollEvent event)
Invoked when the range is scrolled. |
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. |
boolean |
removeMasterRowSetIterator(RowSetIterator masterRSI)
Removes a master Row Set Iterator. |
void |
requestEstimatedRowCount()
|
void |
rowDeleted(DeleteEvent event)
Invoked when a row has been deleted. |
void |
rowInserted(InsertEvent event)
Invoked when a row has been inserted. |
void |
rowUpdated(UpdateEvent event)
Invoked when an attribute of the row has been changed. |
int |
scrollRange(int amount)
Moves the Row Set Iterator range up or down a given number of rows. |
int |
scrollRangeTo(Row row,
int index)
Scrolls the range to place a given row at a given range index. |
void |
setAccessMode(byte mode)
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. |
int |
setRangeSize(int size)
Modifies the size of the Row Set Iterator range. |
int |
setRangeStart(int start)
Moves the Row Set Iterator range. |
void |
setRowValidation(boolean flag)
Sets the validation flag on this iterator. |
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. |
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.WSObject |
get, getFullName, getId |
Methods inherited from class oracle.jbo.common.JboAbstractMap |
entrySet, equals, hashCode, internalGet |
Methods inherited from class java.util.AbstractMap |
clear, clone, containsKey, containsValue, isEmpty, keySet, put, 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.RowSet |
getName |
Methods inherited from interface oracle.jbo.RowSetIterator |
addManagementListener, getEstimatedRangePageCount, getFilteredRows, getFilteredRowsInRange, getNextRangeSet, getPreviousRangeSet, isNameGenerated, removeManagementListener, scrollToRangePage |
Methods inherited from interface oracle.jbo.NavigatableRowIterator |
addListener, removeListener |
Method Detail |
public boolean isOnLine()
public WSObject getParent()
getParent
in class WSObject
public void setAccessorTraversalByNamePaths(java.lang.String[] namePaths)
setAccessorTraversalByNamePaths
in interface WSRowSet
public AccTravDef getAccessorTraversalDef()
getAccessorTraversalDef
in interface WSRowSet
public void setAccessorTraversalDef(AccTravDef accTravDef)
setAccessorTraversalDef
in interface WSRowSet
public boolean hasAccessorTraversalDef()
hasAccessorTraversalDef
in interface WSRowSet
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 boolean setMasterRowSetIterator(RowSetIterator masterRSI)
RowSet
setMasterRowSetIterator
in interface RowSet
masterRSI
- a master Row Set Iterator.
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.
See
.
ViewObject.isInternal()
getViewObject
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 java.lang.Object[] getWhereClauseParams()
RowSet
getWhereClauseParams
in interface RowSet
public void executeQuery()
RowSet
executeQuery
in interface RowSet
public void executeQuery2(boolean resetCurrency, boolean force)
executeQuery2
in interface WSRowSet
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 boolean isExecuted()
RowSet
isExecuted
in interface RowSet
true
if query has been executed.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 WSRowSetIteratorImpl findWSRowSetIterator(java.lang.String name)
public boolean removeMasterRowSetIterator(RowSetIterator masterRSI)
RowSet
removeMasterRowSetIterator
in interface RowSet
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
public void requestEstimatedRowCount()
requestEstimatedRowCount
in interface WSRowSet
public long getEstimatedRowCount()
RowSet
This number may fluxuate when the View Object is syncronized with its Entity Object.
getEstimatedRowCount
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 mode)
RowSet
SCROLLABLE
- if this RowSet should fetch rows
and cache the ViewRows in a collection. This is the most flexible
mode for accessing rows and working with a RowSet.
FORWARD_ONLY
- if this RowSet should only provide
sequential access to Rows in its collection. The iterators on this
RowSet will not allow scrolling back.
RANGE_PAGING
- if this RowSet should fetch rows
in ranges (set using setRangeSize() - the default range size is -1 to
fetch all rows), such that on scroll to the
the next range or to fetch a row that's not in the current range,
it's fetched back from the database using ROWNUM query and the
row at the desired index is placed as the first row in the current
range. New rows inserted in this mode will be inserted at the beginning of the rowset to maintain their row indices.
If an attempt is made to get a row outside of the range when a new row is inserted or a row is removed in the current range, then an InvalidOperException is raised as the current set of changes needs to be posted to recalculate the right ROWNUM.
RANGE_PAGING_AUTO_POST
- if this rowset should also
post any changes in this transaction to access a row out of the current
range.
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
mode
- One of the four enumerated values SCROLLABLE
,
FORWARD_ONLY
, RANGE_PAGING
, RANGE_PAGING_AUTO_POST
public void setAssociationConsistent(boolean isAssociationConsistent)
RowSet
Association-consistent mode allows the user to see data that includes changes not yet posted to database, but at the cost of degraded performance.
When association-consistency is on the Row Set will reflect rows with modified foreign keys, newly created rows, and removed (deleted) rows. When association-consistency is off the user must post pending changes to database to make them visible.
This method is relevant only if this Row Set was one returned from a call to an entity association accessor.
setAssociationConsistent
in interface RowSet
public boolean isAssociationConsistent()
RowSet
isAssociationConsistent
in interface RowSet
true
if un-posted changes are visible,
false
otherwise.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 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, com.sun.java.util.collections.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, com.sun.java.util.collections.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
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
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
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
public int scrollRange(int amount)
RowIterator
scrollRange
in interface RowIterator
scrollRange
in class WSRowSetIteratorBase
public int scrollRangeTo(Row row, int index)
RowIterator
scrollRangeTo
in interface RowIterator
scrollRangeTo
in class WSRowSetIteratorBase
public void setRowValidation(boolean flag)
RowIterator
setRowValidation
in interface RowIterator
setRowValidation
in class WSRowSetIteratorBase
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
public void rangeRefreshed(RangeRefreshEvent event)
RowSetListener
rangeRefreshed
in interface RowSetListener
event
- a description of the new ranges.public void rangeScrolled(ScrollEvent event)
RowSetListener
rangeScrolled
in interface RowSetListener
event
- a description of the new range.public void rowInserted(InsertEvent event)
RowSetListener
rowInserted
in interface RowSetListener
event
- a description of the new Row object.public void rowDeleted(DeleteEvent event)
RowSetListener
rowDeleted
in interface RowSetListener
event
- a description of the deleted Row object.public void rowUpdated(UpdateEvent event)
RowSetListener
rowUpdated
in interface RowSetListener
event
- a description of the modified Row object.public void navigated(NavigationEvent event)
RowSetListener
navigated
in interface RowSetListener
event
- a description of the new and previous current rows.
|
Oracle ADF Model and Business Components API Reference 10.1.2 B14022-01 | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 1997, 2004, Oracle. All rights reserved.