Class PrettyPrintXMLWriter

  • All Implemented Interfaces:
    XMLWriter
    Direct Known Subclasses:
    CompactXMLWriter

    public class PrettyPrintXMLWriter
    extends Object
    implements XMLWriter
    Implementation of XMLWriter which emits nicely formatted documents.
    • Field Detail

      • LS

        protected static final String LS
        Line separator ("\n" on UNIX)
    • Constructor Detail

      • PrettyPrintXMLWriter

        public PrettyPrintXMLWriter​(PrintWriter writer,
                                    String lineIndenter)
        Parameters:
        writer - not null
        lineIndenter - could be null, but the normal way is some spaces.
      • PrettyPrintXMLWriter

        public PrettyPrintXMLWriter​(Writer writer,
                                    String lineIndenter)
        Parameters:
        writer - not null
        lineIndenter - could be null, but the normal way is some spaces.
      • PrettyPrintXMLWriter

        public PrettyPrintXMLWriter​(PrintWriter writer)
        Parameters:
        writer - not null
      • PrettyPrintXMLWriter

        public PrettyPrintXMLWriter​(Writer writer)
        Parameters:
        writer - not null
      • PrettyPrintXMLWriter

        public PrettyPrintXMLWriter​(PrintWriter writer,
                                    String lineIndenter,
                                    String encoding,
                                    String doctype)
        Parameters:
        writer - not null
        lineIndenter - could be null, but the normal way is some spaces.
        encoding - could be null or invalid.
        doctype - could be null.
      • PrettyPrintXMLWriter

        public PrettyPrintXMLWriter​(Writer writer,
                                    String lineIndenter,
                                    String encoding,
                                    String doctype)
        Parameters:
        writer - not null
        lineIndenter - could be null, but the normal way is some spaces.
        encoding - could be null or invalid.
        doctype - could be null.
      • PrettyPrintXMLWriter

        public PrettyPrintXMLWriter​(PrintWriter writer,
                                    String encoding,
                                    String doctype)
        Parameters:
        writer - not null
        encoding - could be null or invalid.
        doctype - could be null.
      • PrettyPrintXMLWriter

        public PrettyPrintXMLWriter​(Writer writer,
                                    String encoding,
                                    String doctype)
        Parameters:
        writer - not null
        encoding - could be null or invalid.
        doctype - could be null.
      • PrettyPrintXMLWriter

        public PrettyPrintXMLWriter​(PrintWriter writer,
                                    String lineIndenter,
                                    String lineSeparator,
                                    String encoding,
                                    String doctype)
        Parameters:
        writer - not null
        lineIndenter - could be null, but the normal way is some spaces.
        lineSeparator - could be null, but the normal way is valid line separator ("\n" on UNIX).
        encoding - could be null or invalid.
        doctype - could be null.
    • Method Detail

      • getLineIndenter

        protected String getLineIndenter()
        Get the string used as line indenter
        Returns:
        the line indenter
      • setLineIndenter

        protected void setLineIndenter​(String lineIndenter)
        Set the string used as line indenter
        Parameters:
        lineIndenter - new line indenter, could be null, but the normal way is some spaces.
      • getLineSeparator

        protected String getLineSeparator()
        Get the string used as line separator or LS if not set.
        Returns:
        the line separator
        See Also:
        LS
      • setLineSeparator

        protected void setLineSeparator​(String lineSeparator)
        Set the string used as line separator
        Parameters:
        lineSeparator - new line separator, could be null but the normal way is valid line separator ("\n" on UNIX).
      • endOfLine

        protected void endOfLine()
        Write the end of line character (using specified line separator) and start new line with indentation
        See Also:
        getLineIndenter(), getLineSeparator()
      • setWriter

        protected void setWriter​(PrintWriter writer)
        Set the underlying writer
        Parameters:
        writer - not null writer
      • getWriter

        protected PrintWriter getWriter()
        Get the underlying writer
        Returns:
        the underlying writer
      • setDepth

        protected void setDepth​(int depth)
        Set the depth in the xml indentation
        Parameters:
        depth - new depth
      • getDepth

        protected int getDepth()
        Get the current depth in the xml indentation
        Returns:
        the current depth
      • setEncoding

        protected void setEncoding​(String encoding)
        Set the encoding in the xml
        Parameters:
        encoding - new encoding
      • getEncoding

        protected String getEncoding()
        Get the current encoding in the xml
        Returns:
        the current encoding
      • setDocType

        protected void setDocType​(String docType)
        Set the docType in the xml
        Parameters:
        docType - new docType
      • getDocType

        protected String getDocType()
        Get the docType in the xml
        Returns:
        the current docType
      • getElementStack

        protected LinkedList<String> getElementStack()
        Returns:
        the current elementStack;