Class ProxyReceiver

java.lang.Object
net.sf.saxon.event.SequenceReceiver
net.sf.saxon.event.ProxyReceiver
All Implemented Interfaces:
Result, Receiver
Direct Known Subclasses:
AttributeInheritor, AttributeSorter, BinaryTextDecoder, BuilderMonitor, CatchingReceiver, CDATAFilter, CharacterMapExpander, CheckSumFilter, CloseNotifier, CommentStripper, ContentDetector, CopyOfFeed.AccumulatorCopier, CountingFilter, DocumentValidator, EvaluationNuisance, ExpressionPresenterToJson, HTMLIndenter, HTMLURIEscaper, IDFilter, IgnorableWhitespaceStripper, MetaTagAdjuster, NamePoolConverter, NamespaceDifferencer, NamespaceReducer, OuterNewlineInserter, PackageInspector, ParseHtml.Html5Converter, PathMaintainer, PIGrabber, PrincipalOutputGatekeeper, Projector, RegularSequenceChecker, SchemaModelLoader, SequenceNormalizer, Stripper, TracingFilter, TransformerReceiver, UncommittedSerializer, UnicodeNormalizer, UseWhenFilter, ValidatingFilter, Valve, VersionControlFilter, XHTMLPrefixRemover, XML10ContentChecker, XMLIndenter

public class ProxyReceiver extends SequenceReceiver
A ProxyReceiver is an Receiver that filters data before passing it to another underlying Receiver.
  • Field Details

    • nextReceiver

      protected Receiver nextReceiver
  • Constructor Details

    • ProxyReceiver

      public ProxyReceiver(Receiver nextReceiver)
  • Method Details

    • setSystemId

      public void setSystemId(String systemId)
      Description copied from class: SequenceReceiver
      Set the system ID
      Specified by:
      setSystemId in interface Result
      Overrides:
      setSystemId in class SequenceReceiver
      Parameters:
      systemId - the URI used to identify the tree being passed across this interface
    • setUnderlyingReceiver

      public void setUnderlyingReceiver(Receiver receiver)
      Set the underlying receiver. This call is mandatory before using the Receiver.
      Parameters:
      receiver - the underlying receiver, the one that is to receive events after processing by this filter.
    • getNextReceiver

      public Receiver getNextReceiver()
      Get the next Receiver in the pipeline
      Returns:
      the next Receiver in the pipeline
    • setPipelineConfiguration

      public void setPipelineConfiguration(PipelineConfiguration pipe)
      Description copied from interface: Receiver
      Set the pipeline configuration
      Specified by:
      setPipelineConfiguration in interface Receiver
      Overrides:
      setPipelineConfiguration in class SequenceReceiver
      Parameters:
      pipe - the pipeline configuration
    • getNamePool

      public NamePool getNamePool()
      Get the namepool for this configuration
      Overrides:
      getNamePool in class SequenceReceiver
      Returns:
      the Name Pool that was supplied using the setConfiguration() method
    • open

      public void open() throws XPathException
      Start of event stream
      Specified by:
      open in interface Receiver
      Overrides:
      open in class SequenceReceiver
      Throws:
      XPathException - if an error occurs
    • close

      public void close() throws XPathException
      End of output. Note that closing this receiver also closes the rest of the pipeline.
      Throws:
      XPathException - if an error occurs
    • startDocument

      public void startDocument(int properties) throws XPathException
      Start of a document node.
      Parameters:
      properties - bit-significant integer indicating properties of the document node. The definitions of the bits are in class ReceiverOption
      Throws:
      XPathException - if an error occurs
    • endDocument

      public void endDocument() throws XPathException
      Notify the end of a document node
      Throws:
      XPathException - if an error occurs
    • startElement

      public void startElement(NodeName elemName, SchemaType type, AttributeMap attributes, NamespaceMap namespaces, Location location, int properties) throws XPathException
      Notify the start of an element
      Parameters:
      elemName - the name of the element.
      type - the type annotation of the element.
      attributes - the attributes of this element
      namespaces - the in-scope namespaces of this element: generally this is all the in-scope namespaces, without relying on inheriting namespaces from parent elements
      location - an object providing information about the module, line, and column where the node originated
      properties - bit-significant properties of the element node. If there are no relevant properties, zero is supplied. The definitions of the bits are in class ReceiverOption
      Throws:
      XPathException - if an error occurs
    • endElement

      public void endElement() throws XPathException
      End of element
      Throws:
      XPathException - if an error occurs
    • characters

      public void characters(UnicodeString chars, Location locationId, int properties) throws XPathException
      Character data
      Parameters:
      chars - The characters
      locationId - provides information such as line number and system ID.
      properties - Bit significant value. The following bits are defined:
      DISABLE_ESCAPING
      Disable escaping for this text node
      USE_CDATA
      Output as a CDATA section
      Throws:
      XPathException - if an error occurs
    • processingInstruction

      public void processingInstruction(String target, UnicodeString data, Location locationId, int properties) throws XPathException
      Processing Instruction
      Parameters:
      target - The PI name. This must be a legal name (it will not be checked).
      data - The data portion of the processing instruction
      locationId - provides information such as line number and system ID.
      properties - Additional information about the PI.
      Throws:
      XPathException - if an error occurs
    • comment

      public void comment(UnicodeString chars, Location locationId, int properties) throws XPathException
      Output a comment
      Parameters:
      chars - The content of the comment
      locationId - provides information such as line number and system ID.
      properties - Additional information about the comment.
      Throws:
      XPathException - if an error occurs
    • setUnparsedEntity

      public void setUnparsedEntity(String name, String uri, String publicId) throws XPathException
      Set the URI for an unparsed entity in the document.
      Specified by:
      setUnparsedEntity in interface Receiver
      Overrides:
      setUnparsedEntity in class SequenceReceiver
      Parameters:
      name - The name of the unparsed entity
      uri - The system identifier of the unparsed entity
      publicId - The public identifier of the unparsed entity
      Throws:
      XPathException - if an error occurs
    • append

      public void append(Item item, Location locationId, int properties) throws XPathException
      Append an arbitrary item (node or atomic value) to the output
      Specified by:
      append in interface Receiver
      Specified by:
      append in class SequenceReceiver
      Parameters:
      item - the item to be appended
      locationId - the location of the calling instruction, for diagnostics
      properties - if the item is an element node, this indicates whether its namespaces need to be copied. Values are ReceiverOption.ALL_NAMESPACES; the default (0) means
      Throws:
      XPathException - if an error occurs
    • usesTypeAnnotations

      public boolean usesTypeAnnotations()
      Ask whether this Receiver (or the downstream pipeline) makes any use of the type annotations supplied on element and attribute events
      Returns:
      true if the Receiver makes any use of this information. If false, the caller may supply untyped nodes instead of supplying the type annotation