com.sosnoski.xmlbench
Class BenchDOM4J

java.lang.Object
  |
  +--com.sosnoski.xmlbench.BenchBase
        |
        +--com.sosnoski.xmlbench.BenchDocBase
              |
              +--com.sosnoski.xmlbench.BenchDOM4J

public class BenchDOM4J
extends BenchDocBase

Benchmark for measuring performance of the dom4j document representation.

Version:
1.2
Author:
Dennis M. Sosnoski

Fields inherited from class com.sosnoski.xmlbench.BenchBase
ATTRCHAR_COUNT_INDEX, ATTRIBUTE_COUNT_INDEX, AVERAGE_SPACE_INDEX, BUILD_AVERAGE_INDEX, BUILD_MIN_INDEX, CONTENT_COUNT_INDEX, DELTA_MEMORY_INDEX, ELEMENT_COUNT_INDEX, FIRST_SPACE_INDEX, GARBAGE_COLLECT_DELAY, GARBAGE_UNIT_DELAY, INITIAL_MEMORY_INDEX, m_configName, m_configVariant, m_lastMemory, m_lastTime, m_printPass, m_printStream, m_printSummary, MODIFY_AVERAGE_INDEX, MODIFY_MIN_INDEX, s_spaceFullDescriptions, s_spaceShortDescriptions, s_timeFullDescriptions, s_timeShortDescriptions, SERIALIZE_AVERAGE_INDEX, SERIALIZE_MIN_INDEX, SERIALIZE_SIZE_INDEX, SPACE_RESULT_COUNT, TEXT_AVERAGE_INDEX, TEXT_MIN_INDEX, TEXTCHAR_COUNT_INDEX, TIME_RESULT_COUNT, UNSERIALIZE_AVERAGE_INDEX, UNSERIALIZE_MIN_INDEX, WALK_AVERAGE_INDEX, WALK_MIN_INDEX, WALKED_SPACE_INDEX
 
Constructor Summary
BenchDOM4J()
          Constructor.
 
Method Summary
protected  java.lang.Object build(java.io.InputStream in)
          Build document representation by parsing XML.
protected  void modify(java.lang.Object doc)
          Modify a document representation.
protected  void modifyElement(org.dom4j.Element element)
          Modify subtree for element.
protected  void output(java.lang.Object doc, java.io.OutputStream out)
          Output a document as XML text.
protected  void reset()
          Reset test class instance.
protected  void walk(java.lang.Object doc, DocumentSummary summary)
          Walk and summarize document.
protected  void walkElement(org.dom4j.Element element, DocumentSummary summary)
          Walk subtree for element.
 
Methods inherited from class com.sosnoski.xmlbench.BenchDocBase
runSpaceTest, runTimeTest, serialize, unserialize
 
Methods inherited from class com.sosnoski.xmlbench.BenchBase
getName, initMemory, initTime, printSummary, reportSpace, reportTime, reportValue, setPrint, setShowDocument, setShowPass, setVariant, testPassSpace, testPassTime
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BenchDOM4J

public BenchDOM4J()
Constructor.
Method Detail

build

protected java.lang.Object build(java.io.InputStream in)
Build document representation by parsing XML. This implementation creates a SAX reader if one does not already exist, then reuses that reader for the duration of a test run..
Overrides:
build in class BenchDocBase
Parameters:
in - XML document input stream
Returns:
document representation

walkElement

protected void walkElement(org.dom4j.Element element,
                           DocumentSummary summary)
Walk subtree for element. This recursively walks through the document nodes under an element, accumulating summary information.
Parameters:
element - element to be walked
summary - document summary information

walk

protected void walk(java.lang.Object doc,
                    DocumentSummary summary)
Walk and summarize document. This method walks through the nodes of the document, accumulating summary information.
Overrides:
walk in class BenchDocBase
Parameters:
doc - document representation to be walked
summary - output document summary information

output

protected void output(java.lang.Object doc,
                      java.io.OutputStream out)
Output a document as XML text. This method uses the method defined by dom4j to output a text representation of the document.
Overrides:
output in class BenchDocBase
Parameters:
doc - document representation to be output
out - XML document output stream

modifyElement

protected void modifyElement(org.dom4j.Element element)
Modify subtree for element. This recursively walks through the document nodes under an element, performing the modifications.
Parameters:
element - element to be walked

modify

protected void modify(java.lang.Object doc)
Modify a document representation. This implementation of the abstract superclass method walks the document representation performing the following modifications: remove all content segments which consist only of whitespace; add an attribute "text" set to "true" to any elements which directly contain non-whitespace text content; and replace each non-whitespace text content segment with a "text" element which wraps the trimmed content.
Overrides:
modify in class BenchDocBase
Parameters:
doc - document representation to be modified

reset

protected void reset()
Reset test class instance. This discards the SAX reader used within a test pass.
Overrides:
reset in class BenchDocBase


Company Web Site

XML Benchmark Home