org.pentaho.reporting.libraries.xmlns.writer

Class XmlWriter

public class XmlWriter extends XmlWriterSupport

A class for writing XML to a character stream.

Author: Thomas Morgner

Constructor Summary
XmlWriter(Writer writer)
Creates a new XML writer for the specified character stream.
XmlWriter(Writer writer, TagDescription tagDescription)
Default Constructor.
XmlWriter(Writer writer, String indentString)
Creates a new XML writer for the specified character stream.
XmlWriter(Writer writer, TagDescription tagDescription, String indentString)
Creates a new XMLWriter instance.
XmlWriter(Writer writer, TagDescription tagDescription, String indentString, String lineSeparator)
Creates a new XMLWriter instance.
Method Summary
voidclose()
Closes the underlying character stream.
voidflush()
Flushs the underlying writer.
voidwriteCloseTag()
Writes a closing XML tag.
voidwriteComment(String comment)
Writes a comment into the generated xml file.
voidwriteNewLine()
Writes a linebreak to the writer.
voidwriteStream(Reader reader)
Copies the given reader to the character stream.
voidwriteTag(String namespace, String name, boolean close)
Writes an opening XML tag that has no attributes.
voidwriteTag(String namespace, String name, String attributeName, String attributeValue, boolean close)
Writes an opening XML tag with an attribute/value pair.
voidwriteTag(String namespace, String name, AttributeList attributes, boolean close)
Writes an opening XML tag along with a list of attribute/value pairs.
voidwriteText(String text)
Writes some text to the character stream.
voidwriteTextNormalized(String s, boolean transformNewLine)
Writes the given text into the stream using a streaming xml-normalization method.
voidwriteXmlDeclaration(String encoding)
Writes the XML declaration that usually appears at the top of every XML file.

Constructor Detail

XmlWriter

public XmlWriter(Writer writer)
Creates a new XML writer for the specified character stream. By default, four spaces are used for indentation.

Parameters: writer the character stream.

XmlWriter

public XmlWriter(Writer writer, TagDescription tagDescription)
Default Constructor. The created XMLWriterSupport will not have no safe tags and starts with an indention level of 0.

Parameters: writer the character stream. tagDescription the tags that are safe for line breaks.

XmlWriter

public XmlWriter(Writer writer, String indentString)
Creates a new XML writer for the specified character stream.

Parameters: writer the character stream. indentString the string used for indentation (should contain white space, for example four spaces).

XmlWriter

public XmlWriter(Writer writer, TagDescription tagDescription, String indentString)
Creates a new XMLWriter instance.

Parameters: writer the character stream. tagDescription the tags that are safe for line breaks. indentString the indent string.

XmlWriter

public XmlWriter(Writer writer, TagDescription tagDescription, String indentString, String lineSeparator)
Creates a new XMLWriter instance.

Parameters: writer the character stream. tagDescription the tags that are safe for line breaks. indentString the indent string. lineSeparator the line separator to be used.

Method Detail

close

public void close()
Closes the underlying character stream.

Throws: IOException if there is a problem closing the character stream.

flush

public void flush()
Flushs the underlying writer.

Throws: IOException if something goes wrong.

writeCloseTag

public void writeCloseTag()
Writes a closing XML tag.

Throws: java.io.IOException if there is an I/O problem.

writeComment

public void writeComment(String comment)
Writes a comment into the generated xml file.

Parameters: comment the comment text

Throws: IOException if there is a problem writing to the character stream.

writeNewLine

public void writeNewLine()
Writes a linebreak to the writer.

Throws: IOException if there is a problem writing to the character stream.

writeStream

public void writeStream(Reader reader)
Copies the given reader to the character stream. This method should be used for large chunks of data.

Parameters: reader the reader providing the text.

Throws: IOException if there is a problem writing to the character stream.

writeTag

public void writeTag(String namespace, String name, boolean close)
Writes an opening XML tag that has no attributes.

Parameters: namespace the namespace URI for the element name the tag name. close a flag that controls whether or not the tag is closed immediately.

Throws: java.io.IOException if there is an I/O problem.

writeTag

public void writeTag(String namespace, String name, String attributeName, String attributeValue, boolean close)
Writes an opening XML tag with an attribute/value pair.

Parameters: namespace the namespace URI for the element name the tag name. attributeName the attribute name. attributeValue the attribute value. close controls whether the tag is closed.

Throws: java.io.IOException if there is an I/O problem.

writeTag

public void writeTag(String namespace, String name, AttributeList attributes, boolean close)
Writes an opening XML tag along with a list of attribute/value pairs.

Parameters: namespace the namespace URI for the element name the tag name. attributes the attributes. close controls whether the tag is closed.

Throws: java.io.IOException if there is an I/O problem.

writeText

public void writeText(String text)
Writes some text to the character stream.

Parameters: text the text.

Throws: IOException if there is a problem writing to the character stream.

writeTextNormalized

public void writeTextNormalized(String s, boolean transformNewLine)
Writes the given text into the stream using a streaming xml-normalization method.

Parameters: s the string to be written. transformNewLine whether to encode newlines using character-entities.

Throws: IOException if an IO error occured.

writeXmlDeclaration

public void writeXmlDeclaration(String encoding)
Writes the XML declaration that usually appears at the top of every XML file.

Parameters: encoding the encoding that should be declared (this has to match the encoding of the writer, or funny things may happen when parsing the xml file later).

Throws: java.io.IOException if there is a problem writing to the character stream.