Interface StAXEventProcessor

  • All Known Implementing Classes:
    AbstractStAXEventProcessor

    public interface StAXEventProcessor
    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(XMLEventConsumer,Format,*) methods each time the XMLOutputter is requested to output some JDOM content. It is thus safe to assume that a process(XMLEventConsumer,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(XMLEventConsumer,Format,*) method for the same output sequence.
    2. The process methods should be thread-safe and reentrant: The same process(XMLEventConsumer,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:
    XMLOutputter, AbstractXMLOutputProcessor
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void process​(javax.xml.stream.util.XMLEventConsumer out, Format format, javax.xml.stream.XMLEventFactory eventfactory, java.util.List<? extends Content> list)
      This will handle printing out a list of nodes.
      void process​(javax.xml.stream.util.XMLEventConsumer out, Format format, javax.xml.stream.XMLEventFactory eventfactpry, CDATA cdata)
      Print out a CDATA node.
      void process​(javax.xml.stream.util.XMLEventConsumer out, Format format, javax.xml.stream.XMLEventFactory eventfactory, Comment comment)
      Print out a Comment.
      void process​(javax.xml.stream.util.XMLEventConsumer out, Format format, javax.xml.stream.XMLEventFactory eventfactory, DocType doctype)
      Print out the DocType.
      void process​(javax.xml.stream.util.XMLEventConsumer out, Format format, javax.xml.stream.XMLEventFactory eventfactory, Document doc)
      This will print the Document to the given XMLEventConsumer.
      void process​(javax.xml.stream.util.XMLEventConsumer out, Format format, javax.xml.stream.XMLEventFactory eventfactory, Element element)
      Print out an Element, including its Attributes, and all contained (child) elements, etc.
      void process​(javax.xml.stream.util.XMLEventConsumer out, Format format, javax.xml.stream.XMLEventFactory eventfactory, EntityRef entity)
      Print out a EntityRef.
      void process​(javax.xml.stream.util.XMLEventConsumer out, Format format, javax.xml.stream.XMLEventFactory eventfactory, ProcessingInstruction pi)
      void process​(javax.xml.stream.util.XMLEventConsumer out, Format format, javax.xml.stream.XMLEventFactory eventfactory, Text text)
      Print out a Text node.
    • Method Detail

      • process

        void process​(javax.xml.stream.util.XMLEventConsumer out,
                     Format format,
                     javax.xml.stream.XMLEventFactory eventfactory,
                     Document doc)
              throws javax.xml.stream.XMLStreamException
        This will print the Document to the given XMLEventConsumer.

        Warning: using your own XMLEventConsumer 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 - XMLEventConsumer to use.
        format - Format instance specifying output style
        eventfactory - XMLEventFactory for creating XMLEvent instances.
        doc - Document to format.
        Throws:
        javax.xml.stream.XMLStreamException - if there's any problem writing.
        java.lang.NullPointerException - if the input content is null
      • process

        void process​(javax.xml.stream.util.XMLEventConsumer out,
                     Format format,
                     javax.xml.stream.XMLEventFactory eventfactory,
                     DocType doctype)
              throws javax.xml.stream.XMLStreamException
        Print out the DocType.
        Parameters:
        out - XMLEventConsumer to use.
        format - Format instance specifying output style
        eventfactory - XMLEventFactory for creating XMLEvent instances.
        doctype - DocType to output.
        Throws:
        javax.xml.stream.XMLStreamException - if there's any problem writing.
        java.lang.NullPointerException - if the input content is null
      • process

        void process​(javax.xml.stream.util.XMLEventConsumer out,
                     Format format,
                     javax.xml.stream.XMLEventFactory eventfactory,
                     Element element)
              throws javax.xml.stream.XMLStreamException
        Print out an Element, including its Attributes, and all contained (child) elements, etc.
        Parameters:
        out - XMLEventConsumer to use.
        format - Format instance specifying output style
        eventfactory - XMLEventFactory for creating XMLEvent instances.
        element - Element to output.
        Throws:
        javax.xml.stream.XMLStreamException - if there's any problem writing.
        java.lang.NullPointerException - if the input content is null
      • process

        void process​(javax.xml.stream.util.XMLEventConsumer out,
                     Format format,
                     javax.xml.stream.XMLEventFactory eventfactory,
                     java.util.List<? extends Content> list)
              throws javax.xml.stream.XMLStreamException
        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 - XMLEventConsumer to use.
        format - Format instance specifying output style
        eventfactory - XMLEventFactory for creating XMLEvent instances.
        list - List of nodes.
        Throws:
        javax.xml.stream.XMLStreamException - if there's any problem writing.
        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​(javax.xml.stream.util.XMLEventConsumer out,
                     Format format,
                     javax.xml.stream.XMLEventFactory eventfactpry,
                     CDATA cdata)
              throws javax.xml.stream.XMLStreamException
        Print out a CDATA node.
        Parameters:
        out - XMLEventConsumer to use.
        format - Format instance specifying output style
        eventfactpry - XMLEventFactory for creating XMLEvent instances.
        cdata - CDATA to output.
        Throws:
        javax.xml.stream.XMLStreamException - if there's any problem writing.
        java.lang.NullPointerException - if the input content is null
      • process

        void process​(javax.xml.stream.util.XMLEventConsumer out,
                     Format format,
                     javax.xml.stream.XMLEventFactory eventfactory,
                     Text text)
              throws javax.xml.stream.XMLStreamException
        Print out a Text node. Performs the necessary entity escaping and whitespace stripping.
        Parameters:
        out - XMLEventConsumer to use.
        format - Format instance specifying output style
        eventfactory - XMLEventFactory for creating XMLEvent instances.
        text - Text to output.
        Throws:
        javax.xml.stream.XMLStreamException - if there's any problem writing.
        java.lang.NullPointerException - if the input content is null
      • process

        void process​(javax.xml.stream.util.XMLEventConsumer out,
                     Format format,
                     javax.xml.stream.XMLEventFactory eventfactory,
                     Comment comment)
              throws javax.xml.stream.XMLStreamException
        Print out a Comment.
        Parameters:
        out - XMLEventConsumer to use.
        format - Format instance specifying output style
        eventfactory - XMLEventFactory for creating XMLEvent instances.
        comment - Comment to output.
        Throws:
        javax.xml.stream.XMLStreamException - if there's any problem writing.
        java.lang.NullPointerException - if the input content is null
      • process

        void process​(javax.xml.stream.util.XMLEventConsumer out,
                     Format format,
                     javax.xml.stream.XMLEventFactory eventfactory,
                     ProcessingInstruction pi)
              throws javax.xml.stream.XMLStreamException
        Parameters:
        out - XMLEventConsumer to use.
        format - Format instance specifying output style
        eventfactory - XMLEventFactory for creating XMLEvent instances.
        pi - ProcessingInstruction to output.
        Throws:
        javax.xml.stream.XMLStreamException - if there's any problem writing.
        java.lang.NullPointerException - if the input content is null
      • process

        void process​(javax.xml.stream.util.XMLEventConsumer out,
                     Format format,
                     javax.xml.stream.XMLEventFactory eventfactory,
                     EntityRef entity)
              throws javax.xml.stream.XMLStreamException
        Print out a EntityRef.
        Parameters:
        out - XMLEventConsumer to use.
        format - Format instance specifying output style
        eventfactory - XMLEventFactory for creating XMLEvent instances.
        entity - EntityRef to output.
        Throws:
        javax.xml.stream.XMLStreamException - if there's any problem writing.
        java.lang.NullPointerException - if the input content is null