logahawk.formatters
Class XmlNodeArgFormatter

java.lang.Object
  extended by logahawk.formatters.AbstractArgumentFormatter
      extended by logahawk.formatters.XmlNodeArgFormatter
All Implemented Interfaces:
ArgumentFormatter

public class XmlNodeArgFormatter
extends AbstractArgumentFormatter

Formats Nodes as XML strings. The formatted output is as expected for Node.ATTRIBUTE_NODE, Node.CDATA_SECTION_NODE, Node.COMMENT_NODE, Node.ENTITY_NODE, and Node.TEXT_NODE, but all other node types are ignored (because they would produce illegible output).


Field Summary
 
Fields inherited from class logahawk.formatters.AbstractArgumentFormatter
indentor
 
Constructor Summary
XmlNodeArgFormatter()
           
 
Method Summary
 boolean canFormat(Object obj)
          This should return true only if this can provide a useful formatting for this type of object.
 String format(Object obj, Collection<ArgumentFormatter> formatters, int indentLevel)
          This converts the object into a String that represent the object.
 
Methods inherited from class logahawk.formatters.AbstractArgumentFormatter
findFormatter, getChildObjectFormat, getIndentor, setIndentor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XmlNodeArgFormatter

public XmlNodeArgFormatter()
Method Detail

canFormat

public boolean canFormat(Object obj)
Description copied from interface: ArgumentFormatter
This should return true only if this can provide a useful formatting for this type of object.


format

public String format(Object obj,
                     Collection<ArgumentFormatter> formatters,
                     int indentLevel)
Description copied from interface: ArgumentFormatter
This converts the object into a String that represent the object. The String may contain line breaks, but should not include a trailing line break. The first line of the result should NOT include any indentation, that should be handled by the calling class. If the object is complex and contains other objects, this ArgumentFormatter may use the provided list of ArgumentFormatter objects to find a more appropriate formatter. To make things look nice, the "indentLevel" is provided. The indent level should always be incremented by one when calling downward into other ArgumentFormatters.