Package net.sf.saxon.event

## Class ProxyReceiver

- java.lang.Object
- - net.sf.saxon.event.SequenceReceiver
  - - net.sf.saxon.event.ProxyReceiver

- All Implemented Interfaces:
    `javax.xml.transform.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`, `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 Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Receiver` | `nextReceiver` |

    - ### Fields inherited from class net.sf.saxon.event.SequenceReceiver

      `pipelineConfiguration, previousAtomic, systemId`

    - ### Fields inherited from interface javax.xml.transform.Result

      `PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ProxyReceiver​(Receiver nextReceiver)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `append​(Item item, Location locationId, int properties)` | Append an arbitrary item (node or atomic value) to the output
    `void` | `characters​(java.lang.CharSequence chars, Location locationId, int properties)` | Character data
    `void` | `close()` | End of output.
    `void` | `comment​(java.lang.CharSequence chars, Location locationId, int properties)` | Output a comment
    `void` | `endDocument()` | Notify the end of a document node
    `void` | `endElement()` | End of element
    `NamePool` | `getNamePool()` | Get the namepool for this configuration
    `Receiver` | `getNextReceiver()` | Get the next Receiver in the pipeline
    `void` | `open()` | Start of event stream
    `void` | `processingInstruction​(java.lang.String target, java.lang.CharSequence data, Location locationId, int properties)` | Processing Instruction
    `void` | `setPipelineConfiguration​(PipelineConfiguration pipe)` | Set the pipeline configuration
    `void` | `setSystemId​(java.lang.String systemId)` | Set the system ID
    `void` | `setUnderlyingReceiver​(Receiver receiver)` | Set the underlying receiver.
    `void` | `setUnparsedEntity​(java.lang.String name, java.lang.String uri, java.lang.String publicId)` | Set the URI for an unparsed entity in the document.
    `void` | `startDocument​(int properties)` | Start of a document node.
    `void` | `startElement​(NodeName elemName, SchemaType type, AttributeMap attributes, NamespaceMap namespaces, Location location, int properties)` | Notify the start of an element
    `boolean` | `usesTypeAnnotations()` | Ask whether this Receiver (or the downstream pipeline) makes any use of the type annotations supplied on element and attribute events

    - ### Methods inherited from class net.sf.saxon.event.SequenceReceiver

      `append, decompose, flatten, getConfiguration, getErrorCodeForDecomposingFunctionItems, getPipelineConfiguration, getSystemId, handlesAppend`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### nextReceiver

          protected Receiver nextReceiver

  - ### Constructor Detail

    - #### ProxyReceiver

          public ProxyReceiver​(Receiver nextReceiver)

  - ### Method Detail

    - #### setSystemId

          public void setSystemId​(java.lang.String systemId)

      Description copied from class: `SequenceReceiver`
      Set the system ID
      Specified by:
        `setSystemId` in interface `Receiver`
      Specified by:
        `setSystemId` in interface `javax.xml.transform.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​(java.lang.CharSequence 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​(java.lang.String target,
                                            java.lang.CharSequence 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​(java.lang.CharSequence 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​(java.lang.String name,
                                        java.lang.String uri,
                                        java.lang.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