Interface XMLOutputProcessor

All Known Implementing Classes:
AbstractXMLOutputProcessor

public interface XMLOutputProcessor
This interface provides a base support for the XMLOutputter.

People who want to create a custom XMLOutputProcessor for XMLOutputter are able to implement this interface with the following notes and restrictions:

  1. The XMLOutputter will call one, and only one of the process(Writer,Format,*) methods each time the XMLOutputter is requested to output some JDOM content. It is thus safe to assume that a process(Writer,Format,*) method can set up any infrastructure needed to process the content, and that the XMLOutputter will not re-call that method, or some other process(Writer,Format,*) method for the same output sequence.
  2. The process methods should be thread-safe and reentrant: The same process(Writer,Format,*) method may (will) be called concurrently from different threads.

The AbstractXMLOutputProcessor class is a full implementation of this interface and is fully customisable. People who want a custom XMLOutputter are encouraged to extend the AbstractXMLOutputProcessor rather than do a full re-implementation of this interface.

Since:
JDOM2
Author:
Rolf Lear
See Also:
  • Method Details

    • process

      void process(Writer out, Format format, Document doc) throws IOException
      This will print the Document to the given Writer.

      Warning: using your own Writer may cause the outputter's preferred character encoding to be ignored. If you use encodings other than UTF-8, we recommend using the method that takes an OutputStream instead.

      Parameters:
      out - Writer to use.
      format - Format instance specifying output style
      doc - Document to format.
      Throws:
      IOException - if there's any problem writing.
      NullPointerException - if the input content is null
    • process

      void process(Writer out, Format format, DocType doctype) throws IOException
      Print out the DocType.
      Parameters:
      out - Writer to use.
      format - Format instance specifying output style
      doctype - DocType to output.
      Throws:
      IOException - if there's any problem writing.
      NullPointerException - if the input content is null
    • process

      void process(Writer out, Format format, Element element) throws IOException
      Print out an Element, including its Attributes, and all contained (child) elements, etc.
      Parameters:
      out - Writer to use.
      format - Format instance specifying output style
      element - Element to output.
      Throws:
      IOException - if there's any problem writing.
      NullPointerException - if the input content is null
    • process

      void process(Writer out, Format format, List<? extends Content> list) throws IOException
      This will handle printing out a list of nodes. This can be useful for printing the content of an element that contains HTML, like "<description>JDOM is <b>fun>!</description>".
      Parameters:
      out - Writer to use.
      format - Format instance specifying output style
      list - List of nodes.
      Throws:
      IOException - if there's any problem writing.
      NullPointerException - if the input list is null or contains null members
      ClassCastException - if any of the list members are not Content
    • process

      void process(Writer out, Format format, CDATA cdata) throws IOException
      Print out a CDATA node.
      Parameters:
      out - Writer to use.
      format - Format instance specifying output style
      cdata - CDATA to output.
      Throws:
      IOException - if there's any problem writing.
      NullPointerException - if the input content is null
    • process

      void process(Writer out, Format format, Text text) throws IOException
      Print out a Text node. Performs the necessary entity escaping and whitespace stripping.
      Parameters:
      out - Writer to use.
      format - Format instance specifying output style
      text - Text to output.
      Throws:
      IOException - if there's any problem writing.
      NullPointerException - if the input content is null
    • process

      void process(Writer out, Format format, Comment comment) throws IOException
      Print out a Comment.
      Parameters:
      out - Writer to use.
      format - Format instance specifying output style
      comment - Comment to output.
      Throws:
      IOException - if there's any problem writing.
      NullPointerException - if the input content is null
    • process

      void process(Writer out, Format format, ProcessingInstruction pi) throws IOException
      Parameters:
      out - Writer to use.
      format - Format instance specifying output style
      pi - ProcessingInstruction to output.
      Throws:
      IOException - if there's any problem writing.
      NullPointerException - if the input content is null
    • process

      void process(Writer out, Format format, EntityRef entity) throws IOException
      Print out a EntityRef.
      Parameters:
      out - Writer to use.
      format - Format instance specifying output style
      entity - EntityRef to output.
      Throws:
      IOException - if there's any problem writing.
      NullPointerException - if the input content is null