Class XmlWriter
- java.lang.Object
-
- org.pentaho.reporting.libraries.xmlns.writer.XmlWriter
-
public class XmlWriter extends Object
A class for writing XML to a character stream.- Author:
- Thomas Morgner
-
-
Constructor Summary
Constructors Constructor Description XmlWriter(Writer writer)
Creates a new XML writer for the specified character stream.XmlWriter(Writer writer, String indentString)
Creates a new XML writer for the specified character stream.XmlWriter(Writer writer, TagDescription tagDescription)
Default Constructor.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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addImpliedNamespace(String uri, String prefix)
void
close()
Closes the underlying character stream.void
flush()
Flushs the underlying writer.int
getAdditionalIndent()
TagDescription
getTagDescription()
boolean
isAlwaysAddNamespace()
boolean
isAssumeDefaultNamespace()
boolean
isHtmlCompatiblityMode()
boolean
isLineEmpty()
boolean
isNamespaceDefined(String namespace)
boolean
isNamespacePrefixDefined(String prefix)
boolean
isWriteFinalLinebreak()
void
setAdditionalIndent(int additionalIndent)
void
setAlwaysAddNamespace(boolean b)
void
setAssumeDefaultNamespace(boolean assumeDefaultNamespace)
void
setEncoding(String encoding)
void
setHtmlCompatiblityMode(boolean htmlCompatiblityMode)
void
setLineEmpty(boolean lineEmpty)
void
setWriteFinalLinebreak(boolean writeFinalLinebreak)
void
writeCloseTag()
Writes a closing XML tag.void
writeComment(String comment)
Writes a comment into the generated xml file.void
writeNewLine()
Writes a linebreak to the writer.void
writeStream(Reader reader)
Copies the given reader to the character stream.void
writeTag(String namespace, String name, boolean close)
Writes an opening XML tag that has no attributes.void
writeTag(String namespace, String name, String attributeName, String attributeValue, boolean close)
Writes an opening XML tag with an attribute/value pair.void
writeTag(String namespace, String name, AttributeList attributes, boolean close)
Writes an opening XML tag along with a list of attribute/value pairs.void
writeText(String text)
Writes some text to the character stream.void
writeTextNormalized(String s, boolean transformNewLine)
Writes the given text into the stream using a streaming xml-normalization method.void
writeXmlDeclaration(String encoding)
Writes the XML declaration that usually appears at the top of every XML file.
-
-
-
Field Detail
-
CLOSE
public static final boolean CLOSE
A constant for close.- See Also:
- Constant Field Values
-
OPEN
public static final boolean OPEN
A constant for open.- See Also:
- Constant Field Values
-
-
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
-
writeXmlDeclaration
public void writeXmlDeclaration(String encoding) throws IOException
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:
IOException
- if there is a problem writing to the character stream.
-
writeTag
public void writeTag(String namespace, String name, boolean close) throws IOException
Writes an opening XML tag that has no attributes.- Parameters:
namespace
- the namespace URI for the elementname
- the tag name.close
- a flag that controls whether or not the tag is closed immediately.- Throws:
IOException
- if there is an I/O problem.
-
writeCloseTag
public void writeCloseTag() throws IOException
Writes a closing XML tag.- Throws:
IOException
- if there is an I/O problem.
-
writeTag
public void writeTag(String namespace, String name, String attributeName, String attributeValue, boolean close) throws IOException
Writes an opening XML tag with an attribute/value pair.- Parameters:
namespace
- the namespace URI for the elementname
- the tag name.attributeName
- the attribute name.attributeValue
- the attribute value.close
- controls whether the tag is closed.- Throws:
IOException
- if there is an I/O problem.
-
writeTag
public void writeTag(String namespace, String name, AttributeList attributes, boolean close) throws IOException
Writes an opening XML tag along with a list of attribute/value pairs.- Parameters:
namespace
- the namespace URI for the elementname
- the tag name.attributes
- the attributes.close
- controls whether the tag is closed.- Throws:
IOException
- if there is an I/O problem.
-
writeText
public void writeText(String text) throws IOException
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) throws IOException
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.
-
writeStream
public void writeStream(Reader reader) throws IOException
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.
-
close
public void close() throws IOException
Closes the underlying character stream.- Throws:
IOException
- if there is a problem closing the character stream.
-
writeComment
public void writeComment(String comment) throws IOException
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() throws IOException
Writes a linebreak to the writer.- Throws:
IOException
- if there is a problem writing to the character stream.
-
flush
public void flush() throws IOException
Flushs the underlying writer.- Throws:
IOException
- if something goes wrong.
-
isNamespaceDefined
public boolean isNamespaceDefined(String namespace)
-
setAlwaysAddNamespace
public void setAlwaysAddNamespace(boolean b)
-
setAssumeDefaultNamespace
public void setAssumeDefaultNamespace(boolean assumeDefaultNamespace)
-
isAssumeDefaultNamespace
public boolean isAssumeDefaultNamespace()
-
isAlwaysAddNamespace
public boolean isAlwaysAddNamespace()
-
setHtmlCompatiblityMode
public void setHtmlCompatiblityMode(boolean htmlCompatiblityMode)
-
isHtmlCompatiblityMode
public boolean isHtmlCompatiblityMode()
-
setWriteFinalLinebreak
public void setWriteFinalLinebreak(boolean writeFinalLinebreak)
-
isWriteFinalLinebreak
public boolean isWriteFinalLinebreak()
-
setEncoding
public void setEncoding(String encoding)
-
setLineEmpty
public void setLineEmpty(boolean lineEmpty)
-
isLineEmpty
public boolean isLineEmpty()
-
isNamespacePrefixDefined
public boolean isNamespacePrefixDefined(String prefix)
-
getAdditionalIndent
public int getAdditionalIndent()
-
setAdditionalIndent
public void setAdditionalIndent(int additionalIndent)
-
getTagDescription
public TagDescription getTagDescription()
-
-