Package net.sf.saxon.pull
Class PullPushTee
- java.lang.Object
-
- net.sf.saxon.pull.PullFilter
-
- net.sf.saxon.pull.PullPushTee
-
- All Implemented Interfaces:
PullProvider
public class PullPushTee extends PullFilter
PullPushTee is a pass-through filter class that links one PullProvider to another PullProvider in a pipeline, copying all events that are read into a push pipeline, supplied in the form of a Receiver.This class can be used to insert a schema validator into a pull pipeline, since Saxon's schema validation is push-based. It could also be used to insert a serializer into the pipeline, allowing the XML document being "pulled" to be displayed for diagnostic purposes.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) boolean
previousAtomic
-
Fields inherited from class net.sf.saxon.pull.PullFilter
currentEvent
-
Fields inherited from interface net.sf.saxon.pull.PullProvider
ATOMIC_VALUE, ATTRIBUTE, COMMENT, END_DOCUMENT, END_ELEMENT, END_OF_INPUT, NAMESPACE, PROCESSING_INSTRUCTION, START_DOCUMENT, START_ELEMENT, START_OF_INPUT, TEXT
-
-
Constructor Summary
Constructors Constructor Description PullPushTee(PullProvider base, Receiver branch)
Create a PullPushTee
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Receiver
getReceiver()
Get the Receiver to which events are being tee'd.int
next()
Get the next event.-
Methods inherited from class net.sf.saxon.pull.PullFilter
close, current, getAtomicValue, getAttributes, getFingerprint, getNameCode, getNamePool, getNamespaceDeclarations, getPipelineConfiguration, getSourceLocator, getStringValue, getTypeAnnotation, getUnderlyingProvider, getUnparsedEntities, setPipelineConfiguration, skipToMatchingEnd
-
-
-
-
Constructor Detail
-
PullPushTee
public PullPushTee(PullProvider base, Receiver branch) throws XPathException
Create a PullPushTee- Parameters:
base
- the PullProvider to which requests are to be passedbranch
- the Receiver to which all events are to be copied, as "push" events- Throws:
XPathException
-
-
Method Detail
-
getReceiver
public Receiver getReceiver()
Get the Receiver to which events are being tee'd.
-
next
public int next() throws XPathException
Get the next event. This implementation gets the next event from the underlying PullProvider, copies it to the branch Receiver, and then returns the event to the caller.- Specified by:
next
in interfacePullProvider
- Overrides:
next
in classPullFilter
- Returns:
- an integer code indicating the type of event. The code
PullProvider.END_OF_INPUT
is returned at the end of the sequence. - Throws:
XPathException
-
-