org.jfree.xml.writer
Class XMLWriterSupport

java.lang.Object
  extended by org.jfree.xml.writer.XMLWriterSupport
Direct Known Subclasses:
XMLWriter

public class XMLWriterSupport
extends java.lang.Object

A support class for writing XML files.

Author:
Thomas Morgner

Field Summary
static boolean CLOSE
          A constant for close.
static int CLOSE_TAG_DECREASE
          A constant for controlling the indent function.
static int INDENT_ONLY
          A constant for controlling the indent function.
static boolean OPEN
          A constant for open.
static int OPEN_TAG_INCREASE
          A constant for controlling the indent function.
 
Constructor Summary
XMLWriterSupport()
          Default Constructor.
XMLWriterSupport(SafeTagList safeTags, int indentLevel)
          Creates a new support instance.
XMLWriterSupport(SafeTagList safeTags, int indentLevel, java.lang.String indentString)
          Creates a new support instance.
 
Method Summary
 void allowLineBreak()
          Forces a linebreak on the next call to writeTag or writeCloseTag.
protected  void decreaseIndent()
          Decreates the indention by one level.
 void endBlock()
          Ends the current block by decreasing the indent level.
 int getIndentLevel()
          Returns the current indent level.
static java.lang.String getLineSeparator()
          Returns the line separator.
 SafeTagList getSafeTags()
          Returns the list of safe tags.
protected  void increaseIndent()
          Increases the indention by one level.
 void indent(java.io.Writer writer, int increase)
          Indent the line.
static java.lang.String normalize(java.lang.String s)
          Normalises a string, replacing certain characters with their escape sequences so that the XML text is not corrupted.
 void startBlock()
          Starts a new block by increasing the indent level.
 void writeCloseTag(java.io.Writer w, java.lang.String tag)
          Writes a closing XML tag.
 void writeTag(java.io.Writer w, java.lang.String name)
          Writes an opening XML tag that has no attributes.
 void writeTag(java.io.Writer w, java.lang.String name, AttributeList attributes, boolean close)
          Writes an opening XML tag along with a list of attribute/value pairs.
 void writeTag(java.io.Writer w, java.lang.String name, java.util.Properties attributes, boolean close)
          Deprecated. use the attribute list instead of the properties.
 void writeTag(java.io.Writer w, java.lang.String name, java.lang.String attributeName, java.lang.String attributeValue, boolean close)
          Writes an opening XML tag with an attribute/value pair.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OPEN_TAG_INCREASE

public static final int OPEN_TAG_INCREASE
A constant for controlling the indent function.

See Also:
Constant Field Values

CLOSE_TAG_DECREASE

public static final int CLOSE_TAG_DECREASE
A constant for controlling the indent function.

See Also:
Constant Field Values

INDENT_ONLY

public static final int INDENT_ONLY
A constant for controlling the indent function.

See Also:
Constant Field Values

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

XMLWriterSupport

public XMLWriterSupport()
Default Constructor. The created XMLWriterSupport will not have no safe tags and starts with an indention level of 0.


XMLWriterSupport

public XMLWriterSupport(SafeTagList safeTags,
                        int indentLevel)
Creates a new support instance.

Parameters:
safeTags - tags that are safe for line breaks.
indentLevel - the index level.

XMLWriterSupport

public XMLWriterSupport(SafeTagList safeTags,
                        int indentLevel,
                        java.lang.String indentString)
Creates a new support instance.

Parameters:
safeTags - the tags that are safe for line breaks.
indentLevel - the indent level.
indentString - the indent string.
Method Detail

startBlock

public void startBlock()
                throws java.io.IOException
Starts a new block by increasing the indent level.

Throws:
java.io.IOException - if an IO error occurs.

endBlock

public void endBlock()
              throws java.io.IOException
Ends the current block by decreasing the indent level.

Throws:
java.io.IOException - if an IO error occurs.

allowLineBreak

public void allowLineBreak()
                    throws java.io.IOException
Forces a linebreak on the next call to writeTag or writeCloseTag.

Throws:
java.io.IOException - if an IO error occurs.

getLineSeparator

public static java.lang.String getLineSeparator()
Returns the line separator.

Returns:
the line separator.

writeTag

public void writeTag(java.io.Writer w,
                     java.lang.String name)
              throws java.io.IOException
Writes an opening XML tag that has no attributes.

Parameters:
w - the writer.
name - the tag name.
Throws:
java.io.IOException - if there is an I/O problem.

writeCloseTag

public void writeCloseTag(java.io.Writer w,
                          java.lang.String tag)
                   throws java.io.IOException
Writes a closing XML tag.

Parameters:
w - the writer.
tag - the tag name.
Throws:
java.io.IOException - if there is an I/O problem.

writeTag

public void writeTag(java.io.Writer w,
                     java.lang.String name,
                     java.lang.String attributeName,
                     java.lang.String attributeValue,
                     boolean close)
              throws java.io.IOException
Writes an opening XML tag with an attribute/value pair.

Parameters:
w - the writer.
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(java.io.Writer w,
                     java.lang.String name,
                     java.util.Properties attributes,
                     boolean close)
              throws java.io.IOException
Deprecated. use the attribute list instead of the properties.

Writes an opening XML tag along with a list of attribute/value pairs.

Parameters:
w - the writer.
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.

writeTag

public void writeTag(java.io.Writer w,
                     java.lang.String name,
                     AttributeList attributes,
                     boolean close)
              throws java.io.IOException
Writes an opening XML tag along with a list of attribute/value pairs.

Parameters:
w - the writer.
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.

normalize

public static java.lang.String normalize(java.lang.String s)
Normalises a string, replacing certain characters with their escape sequences so that the XML text is not corrupted.

Parameters:
s - the string.
Returns:
the normalised string.

indent

public void indent(java.io.Writer writer,
                   int increase)
            throws java.io.IOException
Indent the line. Called for proper indenting in various places.

Parameters:
writer - the writer which should receive the indentention.
increase - the current indent level.
Throws:
java.io.IOException - if writing the stream failed.

getIndentLevel

public int getIndentLevel()
Returns the current indent level.

Returns:
the current indent level.

increaseIndent

protected void increaseIndent()
Increases the indention by one level.


decreaseIndent

protected void decreaseIndent()
Decreates the indention by one level.


getSafeTags

public SafeTagList getSafeTags()
Returns the list of safe tags.

Returns:
The list.