public abstract class GroupingFeed extends ItemFeed
Constructor and Description |
---|
GroupingFeed(GroupVariableReference expression,
Feed result,
Stack<XPathContext> contextStack) |
Modifier and Type | Method and Description |
---|---|
void |
append(Item item)
Supply one item towards the streamed input of the expression (that is, one item of the grouping population)
|
void |
close()
Finish evaluating the expression.
|
ForEachGroup |
getControllingExpression() |
protected XPathContext |
getLocalContext() |
protected abstract boolean |
isStartOfNewGroup(boolean atStart,
XPathContext context)
Determine whether the current item is the start of a new group
|
void |
open()
Called at the start of the for-each-group instruction
|
void |
setControllingExpression(ForEachGroup controllingExpression) |
void |
setOuterFeed(Feed out)
Set the outer feed; the feed to be notified (via its open() and close() methods)
of the start of the grouping population and the end of the grouping population
|
getContext, getContextStack, getExpression, getPipelineConfiguration, getResult, setPipelineConfiguration
public GroupingFeed(GroupVariableReference expression, Feed result, Stack<XPathContext> contextStack)
public void setOuterFeed(Feed out)
out
- the outer feedprotected XPathContext getLocalContext()
public void setControllingExpression(ForEachGroup controllingExpression)
public ForEachGroup getControllingExpression()
public void open() throws XPathException
open
in interface Feed
open
in class ItemFeed
XPathException
public void append(Item item) throws XPathException
append
in interface Feed
append
in class ItemFeed
item
- the next item from the populationXPathException
- to report any failurepublic void close() throws XPathException
ItemFeed
close
in interface Feed
close
in class ItemFeed
XPathException
- if a dynamic error occursprotected abstract boolean isStartOfNewGroup(boolean atStart, XPathContext context) throws XPathException
atStart
- true if this item is the first in the populationcontext
- the evaluation context. The item in question will be the
context itemXPathException
- if a dynamic error occursCopyright (c) 2004-2013 Saxonica Limited. All rights reserved.