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 |
|
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.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 |
BenchElectric
public BenchElectric()
- Constructor.
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 walkedsummary - 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 walkedsummary - 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 outputout - 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