Interface HierarchicalStreamWriter

All Known Subinterfaces:
DocumentWriter, ExtendedHierarchicalStreamWriter
All Known Implementing Classes:
AbstractDocumentWriter, AbstractJsonWriter, AbstractWriter, AbstractXmlWriter, BinaryStreamWriter, CompactWriter, Dom4JWriter, Dom4JXmlWriter, DomWriter, JDom2Writer, JDomWriter, JsonHierarchicalStreamWriter, JsonWriter, PathTrackingWriter, PrettyPrintWriter, SaxWriter, StatefulWriter, StaxWriter, WriterWrapper, XppDomWriter

public interface HierarchicalStreamWriter
  • Method Details

    • startNode

      void startNode(String name)
    • addAttribute

      void addAttribute(String name, String value)
    • setValue

      void setValue(String text)
      Write the value (text content) of the current node.
    • endNode

      void endNode()
    • flush

      void flush()
      Flush the writer, if necessary.
    • close

      void close()
      Close the writer, if necessary.
    • underlyingWriter

      HierarchicalStreamWriter underlyingWriter()
      Return the underlying HierarchicalStreamWriter implementation.

      If a Converter needs to access methods of a specific HierarchicalStreamWriter implementation that are not defined in the HierarchicalStreamWriter interface, it should call this method before casting. This is because the writer passed to the Converter is often wrapped/decorated by another implementation to provide additional functionality (such as XPath tracking).

      For example:

      MySpecificWriter mySpecificWriter = (MySpecificWriter)writer; // INCORRECT!
       mySpecificWriter.doSomethingSpecific();
      MySpecificWriter mySpecificWriter = (MySpecificWriter)writer.underlyingWriter();  // CORRECT!
       mySpecificWriter.doSomethingSpecific();

      Implementations of HierarchicalStreamWriter should return 'this', unless they are a decorator, in which case they should delegate to whatever they are wrapping.