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
  • Field Details

  • Constructor Details

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

    • 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 element
      name - 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 element
      name - 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 element
      name - 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)
    • addImpliedNamespace

      public void addImpliedNamespace(String uri, String prefix)
    • 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()