public class AccumulatorRegistry
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<StructuredQName,Accumulator> |
accumulatorsByName |
Constructor and Description |
---|
AccumulatorRegistry() |
Modifier and Type | Method and Description |
---|---|
void |
addAccumulator(Accumulator acc)
Register an accumulator
|
Accumulator |
getAccumulator(StructuredQName name)
Get the accumulator with a given name
|
java.lang.Iterable<Accumulator> |
getAllAccumulators()
Get all the registered accumulators
|
Sequence<?> |
getStreamingAccumulatorValue(NodeInfo node,
Accumulator accumulator,
AccumulatorFn.Phase phase)
Get the run-time value of a streamed accumulator
|
java.util.Set<Accumulator> |
getUsedAccumulators(java.lang.String useAccumulatorsAtt,
StyleElement styleElement)
Process the use-accumulators attribute of instructions such as xsl:stream, xsl:mode, etc
|
protected java.util.Map<StructuredQName,Accumulator> accumulatorsByName
public java.util.Set<Accumulator> getUsedAccumulators(java.lang.String useAccumulatorsAtt, StyleElement styleElement) throws XPathException
useAccumulatorsAtt
- the value of the use-accumulators attributeXPathException
- if the attribute is invalidpublic void addAccumulator(Accumulator acc)
acc
- the accumulator to be registeredpublic Accumulator getAccumulator(StructuredQName name)
name
- the name of the accumulatorpublic java.lang.Iterable<Accumulator> getAllAccumulators()
public Sequence<?> getStreamingAccumulatorValue(NodeInfo node, Accumulator accumulator, AccumulatorFn.Phase phase) throws XPathException
node
- the context node, which must be a streamed nodeaccumulator
- the accumulator whose value is requiredphase
- pre-descent or post-descentXPathException
- if a dynamic error occursCopyright (c) 2004-2020 Saxonica Limited. All rights reserved.