Interface XMLOutputProcessor

  • All Known Implementing Classes:
    AbstractXMLOutputProcessor

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

    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
    See Also:
    XMLOutputter2, AbstractXMLOutputProcessor
    • Method Detail

      • 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,
                     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. Perfoms 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