Class UncommittedSerializer

All Implemented Interfaces:
Result, Receiver

public class UncommittedSerializer extends ProxyReceiver
This class is used when the decision on which serialization method to use has to be delayed until the first element is read. It buffers comments and processing instructions until that happens; then when the first element arrives it creates a real serialization pipeline and uses that for future output.
Author:
Michael H. Kay
  • Field Details

    • committed

      boolean committed
    • pending

      List pending
    • finalResult

      Result finalResult
    • outputProperties

      Properties outputProperties
  • Constructor Details

    • UncommittedSerializer

      public UncommittedSerializer(Result finalResult, Properties outputProperties)
  • Method Details

    • open

      public void open() throws XPathException
      Description copied from class: ProxyReceiver
      Start of event stream
      Specified by:
      open in interface Receiver
      Overrides:
      open in class ProxyReceiver
      Throws:
      XPathException
    • close

      public void close() throws XPathException
      End of document
      Specified by:
      close in interface Receiver
      Overrides:
      close in class ProxyReceiver
      Throws:
      XPathException
    • characters

      public void characters(CharSequence chars, int locationId, int properties) throws XPathException
      Produce character output using the current Writer.
      Specified by:
      characters in interface Receiver
      Overrides:
      characters in class ProxyReceiver
      Parameters:
      chars - The characters
      locationId - an integer which can be interpreted using a LocationProvider to return information such as line number and system ID. If no location information is available, the value zero is supplied.
      properties - Bit significant value. The following bits are defined:
      DISABLE_ESCAPING
      Disable escaping for this text node
      USE_CDATA
      Output as a CDATA section
      NO_SPECIAL_CHARACTERS
      Value contains no special characters
      WHITESPACE
      Text is all whitespace
      Throws:
      XPathException
    • processingInstruction

      public void processingInstruction(String target, CharSequence data, int locationId, int properties) throws XPathException
      Processing Instruction
      Specified by:
      processingInstruction in interface Receiver
      Overrides:
      processingInstruction in class ProxyReceiver
      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 - an integer which can be interpreted using a LocationProvider to return information such as line number and system ID. If no location information is available, the value zero is supplied.
      properties - Additional information about the PI. The following bits are defined:
      CHECKED
      Data is known to be legal (e.g. doesn't contain "?>")
      Throws:
      XPathException
    • comment

      public void comment(CharSequence chars, int locationId, int properties) throws XPathException
      Output a comment
      Specified by:
      comment in interface Receiver
      Overrides:
      comment in class ProxyReceiver
      Parameters:
      chars - The content of the comment
      locationId - an integer which can be interpreted using a LocationProvider to return information such as line number and system ID. If no location information is available, the value zero is supplied.
      properties - Additional information about the comment. The following bits are defined:
      CHECKED
      Comment is known to be legal (e.g. doesn't contain "--")
      Throws:
      XPathException
    • startElement

      public void startElement(int nameCode, int typeCode, int locationId, int properties) throws XPathException
      Output an element start tag.
      This can only be called once: it switches to a substitute output generator for XML, XHTML, or HTML, depending on the element name.
      Specified by:
      startElement in interface Receiver
      Overrides:
      startElement in class ProxyReceiver
      Parameters:
      nameCode - The element name (tag)
      typeCode - The type annotation
      locationId - an integer which can be interpreted using a LocationProvider to return information such as line number and system ID. If no location information is available, the value zero is supplied.
      properties - Bit field holding special properties of the element
      Throws:
      XPathException