com.thoughtworks.xstream.io.xml
Class PrettyPrintWriter

java.lang.Object
  extended by com.thoughtworks.xstream.io.xml.AbstractXmlWriter
      extended by com.thoughtworks.xstream.io.xml.PrettyPrintWriter
All Implemented Interfaces:
ExtendedHierarchicalStreamWriter, HierarchicalStreamWriter
Direct Known Subclasses:
CompactWriter

public class PrettyPrintWriter
extends AbstractXmlWriter

A simple writer that outputs XML in a pretty-printed indented stream.

By default, the chars

& < > " ' \r are escaped and replaced with a suitable XML entity. To alter this behavior, override the the writeText(com.thoughtworks.xstream.core.util.QuickWriter, String) and writeAttributeValue(com.thoughtworks.xstream.core.util.QuickWriter, String) methods.

Author:
Joe Walnes

Constructor Summary
PrettyPrintWriter(java.io.Writer writer)
           
PrettyPrintWriter(java.io.Writer writer, char[] lineIndenter)
           
PrettyPrintWriter(java.io.Writer writer, char[] lineIndenter, java.lang.String newLine)
           
PrettyPrintWriter(java.io.Writer writer, char[] lineIndenter, java.lang.String newLine, XmlFriendlyReplacer replacer)
           
PrettyPrintWriter(java.io.Writer writer, java.lang.String lineIndenter)
           
PrettyPrintWriter(java.io.Writer writer, java.lang.String lineIndenter, java.lang.String newLine)
           
PrettyPrintWriter(java.io.Writer writer, XmlFriendlyReplacer replacer)
           
 
Method Summary
 void addAttribute(java.lang.String key, java.lang.String value)
           
 void close()
          Close the writer, if necessary.
 void endNode()
           
protected  void endOfLine()
           
 void flush()
          Flush the writer, if necessary.
 void setValue(java.lang.String text)
          Write the value (text content) of the current node.
 void startNode(java.lang.String name)
           
 void startNode(java.lang.String name, java.lang.Class clazz)
           
protected  void writeAttributeValue(com.thoughtworks.xstream.core.util.QuickWriter writer, java.lang.String text)
           
protected  void writeText(com.thoughtworks.xstream.core.util.QuickWriter writer, java.lang.String text)
           
 
Methods inherited from class com.thoughtworks.xstream.io.xml.AbstractXmlWriter
escapeXmlName, underlyingWriter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PrettyPrintWriter

public PrettyPrintWriter(java.io.Writer writer,
                         char[] lineIndenter,
                         java.lang.String newLine,
                         XmlFriendlyReplacer replacer)
Since:
1.2

PrettyPrintWriter

public PrettyPrintWriter(java.io.Writer writer,
                         char[] lineIndenter,
                         java.lang.String newLine)

PrettyPrintWriter

public PrettyPrintWriter(java.io.Writer writer,
                         char[] lineIndenter)

PrettyPrintWriter

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

PrettyPrintWriter

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

PrettyPrintWriter

public PrettyPrintWriter(java.io.Writer writer,
                         XmlFriendlyReplacer replacer)

PrettyPrintWriter

public PrettyPrintWriter(java.io.Writer writer)
Method Detail

startNode

public void startNode(java.lang.String name)

startNode

public void startNode(java.lang.String name,
                      java.lang.Class clazz)
Specified by:
startNode in interface ExtendedHierarchicalStreamWriter
Overrides:
startNode in class AbstractXmlWriter

setValue

public void setValue(java.lang.String text)
Description copied from interface: HierarchicalStreamWriter
Write the value (text content) of the current node.


addAttribute

public void addAttribute(java.lang.String key,
                         java.lang.String value)

writeAttributeValue

protected void writeAttributeValue(com.thoughtworks.xstream.core.util.QuickWriter writer,
                                   java.lang.String text)

writeText

protected void writeText(com.thoughtworks.xstream.core.util.QuickWriter writer,
                         java.lang.String text)

endNode

public void endNode()

endOfLine

protected void endOfLine()

flush

public void flush()
Description copied from interface: HierarchicalStreamWriter
Flush the writer, if necessary.


close

public void close()
Description copied from interface: HierarchicalStreamWriter
Close the writer, if necessary.



Joe Walnes, http://xstream.codehaus.org/