|
Qizx/open API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Internal representation of the result of the evaluation of a query, which is a sequence of Items (XQItem). This interface generally cannot be used for remote access.
The next() method must be repeatedly invoked to check whether an item is available.
When next() returns true, the current item value can be retrieved by specialized methods getX() (defined in super-interface XQItem) according to its type.
Value has often the dual aspect of a sequence and an Item. It is not immutable, because of the next() method. It cannot be rewinded, but it can be regenerated by bornAgain().
Field Summary |
Fields inherited from interface net.axyana.qizxopen.xquery.XQItem |
INCOMPARABLE |
Method Summary | |
XQItem |
asAtom()
Gets the current item with atomization. |
XQValue |
bornAgain()
Returns a new version of the sequence in its initial state. |
XQItem |
getItem()
Gets the current item (undefined result if end of sequence reached). |
boolean |
hasQuickIndex()
Check whether quick indexing is supported. |
boolean |
next()
Attempts to get the next atomic item. |
boolean |
nextCollection()
Attempts to get the next atomic item, without expanding collections. |
long |
quickCount(EvalContext context)
Optimized evaluation of count() or last(). |
XQItem |
quickIndex(long index)
Optimized evaluation of operator [] with integer $index. |
void |
setLazy(boolean lazy)
Boosts iterations that dont need the item value (count(), skipping) |
boolean |
worthExpanding()
Returns false if it is more efficient to keep the value as an iterator, and not to expand it into an array sequence. |
Methods inherited from interface net.axyana.qizxopen.xquery.XQItem |
compareTo, deepEqual, getBoolean, getDecimal, getDouble, getFloat, getInteger, getNode, getString, getType, isNode |
Method Detail |
public boolean next() throws XQueryException
XQueryException
public boolean nextCollection() throws XQueryException
XQueryException
public XQItem getItem() throws XQEvalException
XQEvalException
public XQItem asAtom() throws XQEvalException
XQEvalException
public XQValue bornAgain()
next()
method),
this is not actually true. Therefore when a value is used several
times (in particular the value of a variable), there is a
need for "regeneration".
NOTE: this needs not be a deep copy, because only the state of the iterator is concerned, not the underlying data.
public boolean worthExpanding()
public void setLazy(boolean lazy)
public long quickCount(EvalContext context) throws XQueryException
context
- evaluation context: used for monitoring.
XQueryException
public XQItem quickIndex(long index) throws XQueryException
XQueryException
public boolean hasQuickIndex()
|
© 2005 Axyana Software | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |