org.codehaus.plexus.util.xml
Class PrettyPrintXMLWriter

java.lang.Object
  extended by org.codehaus.plexus.util.xml.PrettyPrintXMLWriter
All Implemented Interfaces:
XMLWriter
Direct Known Subclasses:
CompactXMLWriter

public class PrettyPrintXMLWriter
extends java.lang.Object
implements XMLWriter

Version:
$Id: PrettyPrintXMLWriter.java 5958 2007-02-28 10:29:55Z olamy $

Field Summary
private  int depth
           
private  java.lang.String docType
           
private  java.util.LinkedList elementStack
           
private  java.lang.String encoding
           
private  java.lang.String lineIndenter
           
private static java.lang.String LS
           
private  boolean readyForNewLine
           
private  boolean tagInProgress
           
private  boolean tagIsEmpty
           
private  java.io.PrintWriter writer
           
 
Constructor Summary
PrettyPrintXMLWriter(java.io.PrintWriter writer)
           
PrettyPrintXMLWriter(java.io.PrintWriter writer, java.lang.String lineIndenter)
           
PrettyPrintXMLWriter(java.io.PrintWriter writer, java.lang.String encoding, java.lang.String doctype)
           
PrettyPrintXMLWriter(java.io.PrintWriter writer, java.lang.String lineIndenter, java.lang.String encoding, java.lang.String doctype)
           
PrettyPrintXMLWriter(java.io.Writer writer)
           
PrettyPrintXMLWriter(java.io.Writer writer, java.lang.String lineIndenter)
           
PrettyPrintXMLWriter(java.io.Writer writer, java.lang.String encoding, java.lang.String doctype)
           
PrettyPrintXMLWriter(java.io.Writer writer, java.lang.String lineIndenter, java.lang.String encoding, java.lang.String doctype)
           
 
Method Summary
 void addAttribute(java.lang.String key, java.lang.String value)
           
 void endElement()
           
protected  void endOfLine()
          Write the end of line character (using system line separator) and start new line with indentation
private static java.lang.String escapeXml(java.lang.String text)
           
private static java.lang.String escapeXmlAttribute(java.lang.String text)
           
private  void finishTag()
           
protected  int getDepth()
          Get the current depth in the xml indentation
protected  java.lang.String getDocType()
           
protected  java.lang.String getEncoding()
           
protected  java.lang.String getLineIndenter()
          Get the string used as line indenter
protected  java.io.PrintWriter getWriter()
          Get the underlying writer
protected  void setDepth(int depth)
          Set the current depth in the xml indentation
protected  void setDocType(java.lang.String docType)
           
protected  void setEncoding(java.lang.String encoding)
           
protected  void setLineIndenter(java.lang.String lineIndenter)
          Set the string used as line indenter
protected  void setWriter(java.io.PrintWriter writer)
          Set the underlying writer
 void startElement(java.lang.String name)
           
private  void write(java.lang.String str)
          Write a string to the underlying writer
private  void writeDocumentHeaders()
           
 void writeMarkup(java.lang.String text)
           
 void writeText(java.lang.String text)
           
private  void writeText(java.lang.String text, boolean escapeXml)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LS

private static final java.lang.String LS

writer

private java.io.PrintWriter writer

elementStack

private java.util.LinkedList elementStack

tagInProgress

private boolean tagInProgress

depth

private int depth

lineIndenter

private java.lang.String lineIndenter

encoding

private java.lang.String encoding

docType

private java.lang.String docType

readyForNewLine

private boolean readyForNewLine

tagIsEmpty

private boolean tagIsEmpty
Constructor Detail

PrettyPrintXMLWriter

public PrettyPrintXMLWriter(java.io.PrintWriter writer,
                            java.lang.String lineIndenter)

PrettyPrintXMLWriter

public PrettyPrintXMLWriter(java.io.Writer writer,
                            java.lang.String lineIndenter)

PrettyPrintXMLWriter

public PrettyPrintXMLWriter(java.io.PrintWriter writer)

PrettyPrintXMLWriter

public PrettyPrintXMLWriter(java.io.Writer writer)

PrettyPrintXMLWriter

public PrettyPrintXMLWriter(java.io.PrintWriter writer,
                            java.lang.String lineIndenter,
                            java.lang.String encoding,
                            java.lang.String doctype)

PrettyPrintXMLWriter

public PrettyPrintXMLWriter(java.io.Writer writer,
                            java.lang.String lineIndenter,
                            java.lang.String encoding,
                            java.lang.String doctype)

PrettyPrintXMLWriter

public PrettyPrintXMLWriter(java.io.PrintWriter writer,
                            java.lang.String encoding,
                            java.lang.String doctype)

PrettyPrintXMLWriter

public PrettyPrintXMLWriter(java.io.Writer writer,
                            java.lang.String encoding,
                            java.lang.String doctype)
Method Detail

startElement

public void startElement(java.lang.String name)
Specified by:
startElement in interface XMLWriter

writeText

public void writeText(java.lang.String text)
Specified by:
writeText in interface XMLWriter

writeMarkup

public void writeMarkup(java.lang.String text)
Specified by:
writeMarkup in interface XMLWriter

writeText

private void writeText(java.lang.String text,
                       boolean escapeXml)

escapeXml

private static java.lang.String escapeXml(java.lang.String text)

escapeXmlAttribute

private static java.lang.String escapeXmlAttribute(java.lang.String text)

addAttribute

public void addAttribute(java.lang.String key,
                         java.lang.String value)
Specified by:
addAttribute in interface XMLWriter

endElement

public void endElement()
Specified by:
endElement in interface XMLWriter

write

private void write(java.lang.String str)
Write a string to the underlying writer

Parameters:
str -

finishTag

private void finishTag()

getLineIndenter

protected java.lang.String getLineIndenter()
Get the string used as line indenter

Returns:
the line indenter

setLineIndenter

protected void setLineIndenter(java.lang.String lineIndenter)
Set the string used as line indenter

Parameters:
lineIndenter -

endOfLine

protected void endOfLine()
Write the end of line character (using system line separator) and start new line with indentation


writeDocumentHeaders

private void writeDocumentHeaders()

setWriter

protected void setWriter(java.io.PrintWriter writer)
Set the underlying writer

Parameters:
writer -

getWriter

protected java.io.PrintWriter getWriter()
Get the underlying writer

Returns:
the underlying writer

setDepth

protected void setDepth(int depth)
Set the current depth in the xml indentation

Parameters:
depth -

getDepth

protected int getDepth()
Get the current depth in the xml indentation

Returns:

setEncoding

protected void setEncoding(java.lang.String encoding)

getEncoding

protected java.lang.String getEncoding()

setDocType

protected void setDocType(java.lang.String docType)

getDocType

protected java.lang.String getDocType()