Package net.sf.saxon.expr.flwor
Class ForClausePull
- java.lang.Object
-
- net.sf.saxon.expr.flwor.TuplePull
-
- net.sf.saxon.expr.flwor.ForClausePull
-
- Direct Known Subclasses:
ForClauseOuterPull
,ForMemberClausePull
public class ForClausePull extends TuplePull
This class implements the changes to the tuple stream effected by a "for" clause in a FLWOR expression
-
-
Field Summary
Fields Modifier and Type Field Description protected TuplePull
base
protected FocusIterator
currentIteration
protected ForClause
forClause
-
Constructor Summary
Constructors Constructor Description ForClausePull(TuplePull base, ForClause forClause)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Close the tuple stream, indicating that although not all tuples have been read, no further tuples are required and resources can be releasedprotected SequenceIterator
getIterator(XPathContext context)
Get an iterator over the items or members in the target collection.boolean
nextTuple(XPathContext context)
Move on to the next tuple.protected GroundedValue
variableValue(Item item)
Get the value to be bound to the iteration variable
-
-
-
Field Detail
-
base
protected TuplePull base
-
forClause
protected ForClause forClause
-
currentIteration
protected FocusIterator currentIteration
-
-
Method Detail
-
nextTuple
public boolean nextTuple(XPathContext context) throws XPathException
Move on to the next tuple. Before returning, this method must set all the variables corresponding to the "returned" tuple in the local stack frame associated with the context object- Specified by:
nextTuple
in classTuplePull
- Parameters:
context
- the dynamic evaluation context- Returns:
- true if another tuple has been generated; false if the tuple stream is exhausted. If the method returns false, the values of the local variables corresponding to this tuple stream are undefined.
- Throws:
XPathException
- if any error occurs
-
getIterator
protected SequenceIterator getIterator(XPathContext context) throws XPathException
Get an iterator over the items or members in the target collection.- Parameters:
context
- dynamic evaluation context- Returns:
- for a simple "for $x" clause, the sequence of items to which $x will be bound. For a "for member ¢x" clause, the sequence of array members, each wrapped as an object value
- Throws:
XPathException
- if evaluation fails
-
variableValue
protected GroundedValue variableValue(Item item)
Get the value to be bound to the iteration variable- Parameters:
item
- the value returned by the sequence iterator- Returns:
- the value to be assigned to the iteration variable
-
-