com.sosnoski.xmlbench
Class BenchDOM

java.lang.Object
  |
  +--com.sosnoski.xmlbench.BenchBase
        |
        +--com.sosnoski.xmlbench.BenchDocBase
              |
              +--com.sosnoski.xmlbench.BenchDOM
Direct Known Subclasses:
BenchCrimson, BenchXerces, BenchXerces2

public abstract class BenchDOM
extends BenchDocBase

Abstract base class for measuring performance of any of the DOM document representations. Subclasses need to implement the actual document building and text output methods, but can use the common tree walking code provided here.

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
protected BenchDOM(java.lang.String config)
          Constructor.
 
Method Summary
protected  void modify(java.lang.Object doc)
          Modify a document representation.
protected  void modifyElement(org.w3c.dom.Element element)
          Modify subtree for element.
protected  void walk(java.lang.Object doc, DocumentSummary summary)
          Walk and summarize document.
protected  void walkElement(org.w3c.dom.Element element, DocumentSummary summary)
          Walk subtree for element.
 
Methods inherited from class com.sosnoski.xmlbench.BenchDocBase
build, output, reset, 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

BenchDOM

protected BenchDOM(java.lang.String config)
Constructor.
Parameters:
config - test configuration name
Method Detail

walkElement

protected void walkElement(org.w3c.dom.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

modifyElement

protected void modifyElement(org.w3c.dom.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


Company Web Site

XML Benchmark Home