com.topologi.diffx.format
Class StrictXMLFormatter

java.lang.Object
  extended by com.topologi.diffx.format.StrictXMLFormatter
All Implemented Interfaces:
DiffXFormatter, XMLDiffXFormatter

public final class StrictXMLFormatter
extends Object
implements XMLDiffXFormatter

A simple XML formatter that writes strictly what it is given.

This formatter will write the events exactly in the order in which they are given, in other words, there is no way to prevent this class from writing malformed XML. On other hand, the SmartXMLFormatter will close XML elements automatically, therefore rectifying a lot of the errors that lead to malformed XML.

Version:
3 April 2005
Author:
Christophe Lauret

Constructor Summary
StrictXMLFormatter()
          Creates a new formatter on the standard output.
StrictXMLFormatter(Writer w)
          Creates a new formatter using the specified writer.
 
Method Summary
 void declarePrefixMapping(PrefixMapping mapping)
          Adds the prefix mapping to this class.
 void delete(DiffXEvent e)
          Formats the specified deleted event.
 void format(DiffXEvent e)
          Formats the specified event.
 void insert(DiffXEvent e)
          Formats the specified inserted event.
 void setConfig(DiffXConfig config)
          Sets the configuration to use with this formatter.
 void setDeleteTags(String start, String end)
          Sets the open and end tags for deleted text.
 void setInsertTags(String start, String end)
          Sets the open and end tags for inserted text.
 void setWriteXMLDeclaration(boolean show)
          Set whether the formatter should include the XML declaration or not.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StrictXMLFormatter

public StrictXMLFormatter()
Creates a new formatter on the standard output.


StrictXMLFormatter

public StrictXMLFormatter(Writer w)
Creates a new formatter using the specified writer.

Parameters:
w - The writer to use.
Method Detail

format

public void format(DiffXEvent e)
            throws IOException
Description copied from interface: DiffXFormatter
Formats the specified event.

Specified by:
format in interface DiffXFormatter
Parameters:
e - The event to format
Throws:
IOException - Should an I/O exception occurs while formatting.

insert

public void insert(DiffXEvent e)
            throws IOException
Description copied from interface: DiffXFormatter
Formats the specified inserted event.

Specified by:
insert in interface DiffXFormatter
Parameters:
e - The event to format
Throws:
IOException - Should an I/O exception occurs while formatting.

delete

public void delete(DiffXEvent e)
            throws IOException,
                   IllegalStateException
Description copied from interface: DiffXFormatter
Formats the specified deleted event.

Specified by:
delete in interface DiffXFormatter
Parameters:
e - The event to format
Throws:
IOException - Should an I/O exception occurs while formatting.
IllegalStateException - If the formatter is not in a state to run this method.

setInsertTags

public void setInsertTags(String start,
                          String end)
                   throws NullPointerException
Sets the open and end tags for inserted text.

The default values are "<ins:>" and "</ins:>" respectively.

Parameters:
start - The open tag for inserts.
end - The close tag for inserts.
Throws:
NullPointerException - If any of the tags is null.

setDeleteTags

public void setDeleteTags(String start,
                          String end)
                   throws NullPointerException
Sets the open and end tags for deleted text.

The default values are "<del:>" and "</del:>" respectively.

Parameters:
start - The open tag for deletions.
end - The close tag for deletions.
Throws:
NullPointerException - If any of the tags is null.

setConfig

public void setConfig(DiffXConfig config)
Description copied from interface: DiffXFormatter
Sets the configuration to use with this formatter.

Specified by:
setConfig in interface DiffXFormatter
Parameters:
config - The configuration to use.

setWriteXMLDeclaration

public void setWriteXMLDeclaration(boolean show)
Description copied from interface: XMLDiffXFormatter
Set whether the formatter should include the XML declaration or not.

Specified by:
setWriteXMLDeclaration in interface XMLDiffXFormatter
Parameters:
show - true to get the formatter to write the XML declaration; false otherwise.

declarePrefixMapping

public void declarePrefixMapping(PrefixMapping mapping)
Adds the prefix mapping to this class.

Specified by:
declarePrefixMapping in interface XMLDiffXFormatter
Parameters:
mapping - The prefix mapping to add.