## org.codehaus.plexus.util.xml
Class PrettyPrintXMLWriter

    java.lang.Object
      org.codehaus.plexus.util.xml.PrettyPrintXMLWriter

All Implemented Interfaces:
  XMLWriter

Direct Known Subclasses:
  CompactXMLWriter

    public class PrettyPrintXMLWriter

extends Object
implements XMLWriter

Implementation of XMLWriter which emits nicely formatted documents.

Version:
  $Id: PrettyPrintXMLWriter.java 8660 2010-03-05 21:50:36Z hboutemy $

Field Summary
`protected static String` `LS` Line separator ("\n" on UNIX)

Constructor Summary
`PrettyPrintXMLWriter(PrintWriter writer)`
`PrettyPrintXMLWriter(PrintWriter writer, String lineIndenter)`
`PrettyPrintXMLWriter(PrintWriter writer, String encoding, String doctype)`
`PrettyPrintXMLWriter(PrintWriter writer, String lineIndenter, String encoding, String doctype)`
`PrettyPrintXMLWriter(PrintWriter writer, String lineIndenter, String lineSeparator, String encoding, String doctype)`
`PrettyPrintXMLWriter(Writer writer)`
`PrettyPrintXMLWriter(Writer writer, String lineIndenter)`
`PrettyPrintXMLWriter(Writer writer, String encoding, String doctype)`
`PrettyPrintXMLWriter(Writer writer, String lineIndenter, String encoding, String doctype)`

Method Summary
`void` `addAttribute(String key, String value)`
`void` `endElement()`
`protected void` `endOfLine()` Write the end of line character (using specified line separator) and start new line with indentation
`protected int` `getDepth()` Get the current depth in the xml indentation
`protected String` `getDocType()` Get the docType in the xml
`protected LinkedList` `getElementStack()`
`protected String` `getEncoding()` Get the current encoding in the xml
`protected String` `getLineIndenter()` Get the string used as line indenter
`protected String` `getLineSeparator()` Get the string used as line separator or LS if not set.
`protected PrintWriter` `getWriter()` Get the underlying writer
`protected void` `setDepth(int depth)` Set the depth in the xml indentation
`protected void` `setDocType(String docType)` Set the docType in the xml
`protected void` `setEncoding(String encoding)` Set the encoding in the xml
`protected void` `setLineIndenter(String lineIndenter)` Set the string used as line indenter
`protected void` `setLineSeparator(String lineSeparator)` Set the string used as line separator
`protected void` `setWriter(PrintWriter writer)` Set the underlying writer
`void` `startElement(String name)`
`void` `writeMarkup(String text)`
`void` `writeText(String text)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

### startElement

    public void startElement(String name)

  Specified by:
    `startElement` in interface `XMLWriter`

### writeText

    public void writeText(String text)

  Specified by:
    `writeText` in interface `XMLWriter`

### writeMarkup

    public void writeMarkup(String text)

  Specified by:
    `writeMarkup` in interface `XMLWriter`

### addAttribute

    public void addAttribute(String key,
                             String value)

  Specified by:
    `addAttribute` in interface `XMLWriter`

### endElement

    public void endElement()

  Specified by:
    `endElement` in interface `XMLWriter`

### 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 getElementStack()

  Returns:
    the current elementStack;