net.sf.saxon.pull

Class PullPushTee

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
booleanpreviousAtomic
Constructor Summary
PullPushTee(PullProvider base, Receiver branch)
Create a PullPushTee
Method Summary
ReceivergetReceiver()
Get the Receiver to which events are being tee'd.
intnext()
Get the next event.

Field Detail

previousAtomic

boolean previousAtomic

Constructor Detail

PullPushTee

public PullPushTee(PullProvider base, Receiver branch)
Create a PullPushTee

Parameters: base the PullProvider to which requests are to be passed branch the Receiver to which all events are to be copied, as "push" events

Method Detail

getReceiver

public Receiver getReceiver()
Get the Receiver to which events are being tee'd.

next

public int next()
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.

Returns: an integer code indicating the type of event. The code PullPushTee is returned at the end of the sequence.