Package 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.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final String`
`LS`
Line separator ("\n" on UNIX)

## Constructor Summary

Constructors
Constructor
Description
`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

Modifier and Type
Method
Description
`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<String>`
`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 Details

### LS

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

## Constructor Details

### 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 Details

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

Returns:
  the current elementStack;