com.sosnoski.xmlbench
Class BenchElectric

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

public class BenchElectric
extends BenchDocBase

Benchmark for measuring performance of the Electric XML 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
BenchElectric()
          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(electric.xml.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 walk(java.lang.Object doc, DocumentSummary summary)
          Walk and summarize document.
protected  void walkElement(electric.xml.Element element, DocumentSummary summary)
          Walk subtree for element.
 
Methods inherited from class com.sosnoski.xmlbench.BenchDocBase
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

BenchElectric

public BenchElectric()
Constructor.
Method Detail

build

protected java.lang.Object build(java.io.InputStream in)
Build document representation by parsing XML. This implementation uses the method defined by Electric DOM to build the document from an input stream. Note that Electric DOM supports other methods for constructing the document, but an input stream is considered the most representative of real applications.
Overrides:
build in class BenchDocBase
Parameters:
in - XML document input stream
Returns:
document representation

walkElement

protected void walkElement(electric.xml.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 implementation uses the method defined by Electric DOM 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(electric.xml.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