com.topologi.diffx.format
Class SmartXMLFormatter

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

public final class SmartXMLFormatter
extends Object
implements XMLDiffXFormatter

An XML formatter that tries to rectify the errors affecting the well-formedness of the XML.

This class will always close the elements correctly by maintaining a stack of parent elements.

Implementation note: this classes uses the namespace prefixes 'dfx' and 'del', in the future it should be possible to configure which prefixes to use for each namespace, but in this version the namespace prefix mapping is hardcoded.

Version:
5 May 2005
Author:
Christophe Lauret

Constructor Summary
SmartXMLFormatter()
          Creates a new formatter on the standard output.
SmartXMLFormatter(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 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

SmartXMLFormatter

public SmartXMLFormatter()
                  throws IOException
Creates a new formatter on the standard output.

This constructor is equivalent to:

new SmartXMLFormatter(new PrintWriter(System.out));
.

Throws:
IOException - should an I/O exception occurs.
See Also:
System.out, SmartXMLFormatter(Writer)

SmartXMLFormatter

public SmartXMLFormatter(Writer w)
                  throws IOException
Creates a new formatter using the specified writer.

Parameters:
w - The writer to use.
Throws:
IOException - should an I/O exception occurs.
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
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.

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.