Interface SAXOutputProcessor

  • All Known Implementing Classes:
    AbstractSAXOutputProcessor

    public interface SAXOutputProcessor
    This interface provides a base support for the SAXOutputter.

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

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

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

    Since:
    JDOM2
    Author:
    Rolf Lear
    See Also:
    SAXOutputter, AbstractSAXOutputProcessor
    • Method Detail

      • process

        void process​(SAXTarget out,
                     Format format,
                     Document doc)
              throws JDOMException
        This will print the Document to the given SAXTarget.

        Warning: using your own SAXTarget 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 - SAXTarget to use.
        format - Format instance specifying output style
        doc - Document to format.
        Throws:
        JDOMException - if there is an issue encountered during output.
        java.lang.NullPointerException - if the input content is null
      • process

        void process​(SAXTarget out,
                     Format format,
                     DocType doctype)
              throws JDOMException
        Print out the DocType.
        Parameters:
        out - SAXTarget to use.
        format - Format instance specifying output style
        doctype - DocType to output.
        Throws:
        JDOMException - if there is an issue encountered during output.
        java.lang.NullPointerException - if the input content is null
      • process

        void process​(SAXTarget out,
                     Format format,
                     Element element)
              throws JDOMException
        Print out an Element, including its Attributes, and all contained (child) elements, etc.
        Parameters:
        out - SAXTarget to use.
        format - Format instance specifying output style
        element - Element to output.
        Throws:
        JDOMException - if there is an issue encountered during output.
        java.lang.NullPointerException - if the input content is null
      • processAsDocument

        void processAsDocument​(SAXTarget out,
                               Format format,
                               Element element)
                        throws JDOMException
        Print out an Element encapsulated in start/end Document SAX events, including its Attributes, and all contained (child) elements, etc.
        Parameters:
        out - SAXTarget to use.
        format - Format instance specifying output style
        element - Element to output.
        Throws:
        JDOMException - if there is an issue encountered during output.
        java.lang.NullPointerException - if the input content is null
      • process

        void process​(SAXTarget out,
                     Format format,
                     java.util.List<? extends Content> list)
              throws JDOMException
        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 - SAXTarget to use.
        format - Format instance specifying output style
        list - List of nodes.
        Throws:
        JDOMException - if there is an issue encountered during output.
        java.lang.NullPointerException - if the input list is null or contains null members
        java.lang.ClassCastException - if any of the list members are not Content
      • processAsDocument

        void processAsDocument​(SAXTarget out,
                               Format format,
                               java.util.List<? extends Content> list)
                        throws JDOMException
        This will handle printing out a list of nodes thats encapsulated in start/end Document SAX events. This can be useful for printing the content of an element that contains HTML, like "<description>JDOM is <b>fun>!</description>".
        Parameters:
        out - SAXTarget to use.
        format - Format instance specifying output style
        list - List of nodes.
        Throws:
        JDOMException - if there is an issue encountered during output.
        java.lang.NullPointerException - if the input list is null or contains null members
        java.lang.ClassCastException - if any of the list members are not Content
      • process

        void process​(SAXTarget out,
                     Format format,
                     CDATA cdata)
              throws JDOMException
        Print out a CDATA node.
        Parameters:
        out - SAXTarget to use.
        format - Format instance specifying output style
        cdata - CDATA to output.
        Throws:
        JDOMException - if there is an issue encountered during output.
        java.lang.NullPointerException - if the input content is null
      • process

        void process​(SAXTarget out,
                     Format format,
                     Text text)
              throws JDOMException
        Print out a Text node. Perfoms the necessary entity escaping and whitespace stripping.
        Parameters:
        out - SAXTarget to use.
        format - Format instance specifying output style
        text - Text to output.
        Throws:
        JDOMException - if there is an issue encountered during output.
        java.lang.NullPointerException - if the input content is null
      • process

        void process​(SAXTarget out,
                     Format format,
                     Comment comment)
              throws JDOMException
        Print out a Comment.
        Parameters:
        out - SAXTarget to use.
        format - Format instance specifying output style
        comment - Comment to output.
        Throws:
        JDOMException - if there is an issue encountered during output.
        java.lang.NullPointerException - if the input content is null
      • process

        void process​(SAXTarget out,
                     Format format,
                     EntityRef entity)
              throws JDOMException
        Print out a EntityRef.
        Parameters:
        out - SAXTarget to use.
        format - Format instance specifying output style
        entity - EntityRef to output.
        Throws:
        JDOMException - if there is an issue encountered during output.
        java.lang.NullPointerException - if the input content is null