|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.saxon.expr.MappingIterator
MappingIterator merges a sequence of sequences into a single flat sequence. It takes as inputs an iteration, and a mapping function to be applied to each Item returned by that iteration. The mapping function itself returns another iteration. The result is an iteration of the concatenation of all the iterations returned by the mapping function.
This is a powerful class. It is used, with different mapping functions, in a great variety of ways. It underpins the way that "for" expressions and path expressions are evaluated, as well as sequence expressions. It is also used in the implementation of the document(), key(), and id() functions.
Constructor Summary | |
MappingIterator(SequenceIterator base,
MappingFunction action,
XPathContext context,
java.lang.Object info)
Construct a MappingIterator that will apply a specified MappingFunction to each Item returned by the base iterator. |
Method Summary | |
Item |
current()
Get the current value in the sequence (the one returned by the most recent call on next()). |
SequenceIterator |
getAnother()
Get another SequenceIterator that iterates over the same items as the original, but which is repositioned at the start of the sequence. |
Item |
next()
Get the next item in the sequence. |
int |
position()
Get the current position. |
void |
setIsAtomizing(boolean atomizing)
Indicate that any nodes returned in the sequence will be atomized. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public MappingIterator(SequenceIterator base, MappingFunction action, XPathContext context, java.lang.Object info) throws XPathException
base
- the base iteratoraction
- the mapping function to be appliedcontext
- the processing context. This should be supplied only if each item to be processed
is to become the context item. In this case "base" should be the same as context.getCurrentIterator().info
- an arbitrary object to be passed as a parameter to the mapping function
each time it is calledMethod Detail |
public Item next() throws XPathException
SequenceIterator
next
in interface SequenceIterator
XPathException
- if an error occurs retrieving the next itempublic Item current()
SequenceIterator
current
in interface SequenceIterator
public int position()
SequenceIterator
position
in interface SequenceIterator
public SequenceIterator getAnother() throws XPathException
SequenceIterator
getAnother
in interface SequenceIterator
XPathException
- if any error occurspublic void setIsAtomizing(boolean atomizing)
setIsAtomizing
in interface AtomizableIterator
atomizing
- true if the caller of this iterator will atomize any
nodes that are returned, and is therefore willing to accept the typed
value of the nodes instead of the nodes themselves.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |