org.jfree.xml.writer

Class XMLWriterSupport

Known Direct 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, 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 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(Writer writer, int increase)
Indent the line.
static String
normalize(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(Writer w, String tag)
Writes a closing XML tag.
void
writeTag(Writer w, String name)
Writes an opening XML tag that has no attributes.
void
writeTag(Writer w, String name, Properties attributes, boolean close)
Deprecated. use the attribute list instead of the properties.
void
writeTag(Writer w, String name, String attributeName, String attributeValue, boolean close)
Writes an opening XML tag with an attribute/value pair.
void
writeTag(Writer w, String name, AttributeList attributes, boolean close)
Writes an opening XML tag along with a list of attribute/value pairs.

Field Details

CLOSE

public static final boolean CLOSE
A constant for close.
Field Value:
true

CLOSE_TAG_DECREASE

public static final int CLOSE_TAG_DECREASE
A constant for controlling the indent function.
Field Value:
2

INDENT_ONLY

public static final int INDENT_ONLY
A constant for controlling the indent function.
Field Value:
3

OPEN

public static final boolean OPEN
A constant for open.
Field Value:
false

OPEN_TAG_INCREASE

public static final int OPEN_TAG_INCREASE
A constant for controlling the indent function.
Field Value:
1

Constructor Details

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

allowLineBreak

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

decreaseIndent

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

endBlock

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

getIndentLevel

public int getIndentLevel()
Returns the current indent level.
Returns:
the current indent level.

getLineSeparator

public static String getLineSeparator()
Returns the line separator.
Returns:
the line separator.

getSafeTags

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

increaseIndent

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

indent

public void indent(Writer writer,
                   int increase)
            throws 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.

normalize

public static String normalize(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.

startBlock

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

writeCloseTag

public void writeCloseTag(Writer w,
                          String tag)
            throws IOException
Writes a closing XML tag.
Parameters:
w - the writer.
tag - the tag name.

writeTag

public void writeTag(Writer w,
                     String name)
            throws IOException
Writes an opening XML tag that has no attributes.
Parameters:
w - the writer.
name - the tag name.

writeTag

public void writeTag(Writer w,
                     String name,
                     Properties attributes,
                     boolean close)
            throws 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.

writeTag

public void writeTag(Writer w,
                     String name,
                     String attributeName,
                     String attributeValue,
                     boolean close)
            throws 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.

writeTag

public void writeTag(Writer w,
                     String name,
                     AttributeList attributes,
                     boolean close)
            throws 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.