public class DifferenceEngine extends Object implements DifferenceConstants, DifferenceEngineContract
| Modifier and Type | Class and Description |
|---|---|
protected static class |
DifferenceEngine.DifferenceFoundException
Marker exception thrown by the protected compare() method and passed
upwards through the call stack to the public compare() method.
|
ATTR_NAME_NOT_FOUND, ATTR_NAME_NOT_FOUND_ID, ATTR_SEQUENCE, ATTR_SEQUENCE_ID, ATTR_VALUE, ATTR_VALUE_EXPLICITLY_SPECIFIED, ATTR_VALUE_EXPLICITLY_SPECIFIED_ID, ATTR_VALUE_ID, CDATA_VALUE, CDATA_VALUE_ID, CHILD_NODE_NOT_FOUND, CHILD_NODE_NOT_FOUND_ID, CHILD_NODELIST_LENGTH, CHILD_NODELIST_LENGTH_ID, CHILD_NODELIST_SEQUENCE, CHILD_NODELIST_SEQUENCE_ID, COMMENT_VALUE, COMMENT_VALUE_ID, DOCTYPE_NAME, DOCTYPE_NAME_ID, DOCTYPE_PUBLIC_ID, DOCTYPE_PUBLIC_ID_ID, DOCTYPE_SYSTEM_ID, DOCTYPE_SYSTEM_ID_ID, ELEMENT_NUM_ATTRIBUTES, ELEMENT_NUM_ATTRIBUTES_ID, ELEMENT_TAG_NAME, ELEMENT_TAG_NAME_ID, HAS_CHILD_NODES, HAS_CHILD_NODES_ID, HAS_DOCTYPE_DECLARATION, HAS_DOCTYPE_DECLARATION_ID, NAMESPACE_PREFIX, NAMESPACE_PREFIX_ID, NAMESPACE_URI, NAMESPACE_URI_ID, NO_NAMESPACE_SCHEMA_LOCATION, NO_NAMESPACE_SCHEMA_LOCATION_ID, NODE_TYPE, NODE_TYPE_ID, PROCESSING_INSTRUCTION_DATA, PROCESSING_INSTRUCTION_DATA_ID, PROCESSING_INSTRUCTION_TARGET, PROCESSING_INSTRUCTION_TARGET_ID, SCHEMA_LOCATION, SCHEMA_LOCATION_ID, TEXT_VALUE, TEXT_VALUE_ID| Constructor and Description |
|---|
DifferenceEngine(ComparisonController controller)
Simple constructor that uses no MatchTracker at all.
|
DifferenceEngine(ComparisonController controller,
MatchTracker matchTracker)
Simple constructor
|
| Modifier and Type | Method and Description |
|---|---|
void |
compare(Node control,
Node test,
DifferenceListener listener,
ElementQualifier elementQualifier)
Entry point for Node comparison testing.
|
protected void |
compare(Object expected,
Object actual,
Node control,
Node test,
DifferenceListener listener,
Difference difference)
If the expected and actual values are unequal then inform the listener of
a difference and throw a DifferenceFoundException.
|
protected void |
compare(Object expected,
Object actual,
Node control,
Node test,
DifferenceListener listener,
Difference difference,
XpathNodeTracker controlLoc,
XpathNodeTracker testLoc)
If the expected and actual values are unequal then inform the listener of
a difference and throw a DifferenceFoundException.
|
protected void |
compareAttribute(Attr control,
Attr test,
DifferenceListener listener)
Compare two attributes
|
protected void |
compareCDataSection(CDATASection control,
CDATASection test,
DifferenceListener listener)
Compare two CDATA sections - unused, kept for backwards compatibility
|
protected void |
compareComment(Comment control,
Comment test,
DifferenceListener listener)
Compare two comments
|
protected void |
compareDocument(Document control,
Document test,
DifferenceListener listener,
ElementQualifier elementQualifier)
Compare two Documents for doctype and then element differences
|
protected void |
compareDocumentType(DocumentType control,
DocumentType test,
DifferenceListener listener)
Compare two DocumentType nodes
|
protected void |
compareElement(Element control,
Element test,
DifferenceListener listener)
Compare 2 elements and their attributes
|
protected void |
compareHasChildNodes(Node control,
Node test,
DifferenceListener listener)
Compare the number of children, and if the same, compare the actual
children via their NodeLists.
|
protected void |
compareNode(Node control,
Node test,
DifferenceListener listener,
ElementQualifier elementQualifier)
First point of call: if nodes are comparable it compares node values then
recurses to compare node children.
|
protected boolean |
compareNodeBasics(Node control,
Node test,
DifferenceListener listener)
Compares node type and node namespace characteristics: basically
determines if nodes are comparable further
|
protected void |
compareNodeChildren(Node control,
Node test,
DifferenceListener listener,
ElementQualifier elementQualifier)
Compare the number of children, and if the same, compare the actual
children via their NodeLists.
|
protected void |
compareNodeList(List<Node> controlChildren,
List<Node> testChildren,
int numNodes,
DifferenceListener listener,
ElementQualifier elementQualifier)
Compare the contents of two node list one by one, assuming that order
of children is NOT important: matching begins at same position in test
list as control list.
|
protected void |
compareProcessingInstruction(ProcessingInstruction control,
ProcessingInstruction test,
DifferenceListener listener)
Compare two processing instructions
|
protected void |
compareRecognizedXMLSchemaInstanceAttribute(Attr control,
Attr test,
DifferenceListener listener)
Compare two attributes
|
protected void |
compareText(CharacterData control,
CharacterData test,
DifferenceListener listener)
Compare text
|
protected void |
compareText(Text control,
Text test,
DifferenceListener listener)
Compare text - unused, kept for backwards compatibility
|
void |
setMatchTracker(MatchTracker matchTracker) |
public DifferenceEngine(ComparisonController controller)
controller - the instance used to determine whether a Difference
detected by this class should halt further comparison or notComparisonController.haltComparison(Difference)public DifferenceEngine(ComparisonController controller, MatchTracker matchTracker)
controller - the instance used to determine whether a Difference
detected by this class should halt further comparison or notmatchTracker - the instance that is notified on each
successful match. May be null.ComparisonController.haltComparison(Difference),
MatchTracker.matchFound(Difference)public void setMatchTracker(MatchTracker matchTracker)
setMatchTracker in interface DifferenceEngineContractmatchTracker - the instance that is notified on each
successful match. May be null.public void compare(Node control, Node test, DifferenceListener listener, ElementQualifier elementQualifier)
compare in interface DifferenceEngineContractcontrol - Control XML to comparetest - Test XML to comparelistener - Notified of any differences detected
during node comparison testingelementQualifier - Used to determine which elements qualify for
comparison e.g. when a node has repeated child elements that may occur
in any sequence and that sequence is not considered important.protected void compareNode(Node control, Node test, DifferenceListener listener, ElementQualifier elementQualifier) throws DifferenceEngine.DifferenceFoundException
control - test - listener - elementQualifier - DifferenceEngine.DifferenceFoundExceptionprotected void compareDocument(Document control, Document test, DifferenceListener listener, ElementQualifier elementQualifier) throws DifferenceEngine.DifferenceFoundException
control - test - listener - elementQualifier - DifferenceEngine.DifferenceFoundExceptionprotected boolean compareNodeBasics(Node control, Node test, DifferenceListener listener) throws DifferenceEngine.DifferenceFoundException
control - test - listener - DifferenceEngine.DifferenceFoundExceptionprotected void compareHasChildNodes(Node control, Node test, DifferenceListener listener) throws DifferenceEngine.DifferenceFoundException
control - test - listener - DifferenceEngine.DifferenceFoundExceptionprotected void compareNodeChildren(Node control, Node test, DifferenceListener listener, ElementQualifier elementQualifier) throws DifferenceEngine.DifferenceFoundException
control - test - listener - elementQualifier - DifferenceEngine.DifferenceFoundExceptionprotected void compareNodeList(List<Node> controlChildren, List<Node> testChildren, int numNodes, DifferenceListener listener, ElementQualifier elementQualifier) throws DifferenceEngine.DifferenceFoundException
controlChildren - testChildren - numNodes - convenience parameter because the calling method should
know the value alreadylistener - elementQualifier - used to determine which of the child elements in
the test NodeList should be compared to the current child element in the
control NodeList.DifferenceEngine.DifferenceFoundExceptionprotected void compareElement(Element control, Element test, DifferenceListener listener) throws DifferenceEngine.DifferenceFoundException
control - test - listener - DifferenceEngine.DifferenceFoundExceptionprotected void compareRecognizedXMLSchemaInstanceAttribute(Attr control, Attr test, DifferenceListener listener) throws DifferenceEngine.DifferenceFoundException
control - test - listener - DifferenceEngine.DifferenceFoundExceptionprotected void compareAttribute(Attr control, Attr test, DifferenceListener listener) throws DifferenceEngine.DifferenceFoundException
control - test - listener - DifferenceEngine.DifferenceFoundExceptionprotected void compareCDataSection(CDATASection control, CDATASection test, DifferenceListener listener) throws DifferenceEngine.DifferenceFoundException
control - test - listener - DifferenceEngine.DifferenceFoundExceptionprotected void compareComment(Comment control, Comment test, DifferenceListener listener) throws DifferenceEngine.DifferenceFoundException
control - test - listener - DifferenceEngine.DifferenceFoundExceptionprotected void compareDocumentType(DocumentType control, DocumentType test, DifferenceListener listener) throws DifferenceEngine.DifferenceFoundException
control - test - listener - DifferenceEngine.DifferenceFoundExceptionprotected void compareProcessingInstruction(ProcessingInstruction control, ProcessingInstruction test, DifferenceListener listener) throws DifferenceEngine.DifferenceFoundException
control - test - listener - DifferenceEngine.DifferenceFoundExceptionprotected void compareText(Text control, Text test, DifferenceListener listener) throws DifferenceEngine.DifferenceFoundException
control - test - listener - DifferenceEngine.DifferenceFoundExceptionprotected void compareText(CharacterData control, CharacterData test, DifferenceListener listener) throws DifferenceEngine.DifferenceFoundException
control - test - listener - DifferenceEngine.DifferenceFoundExceptionprotected void compare(Object expected, Object actual, Node control, Node test, DifferenceListener listener, Difference difference) throws DifferenceEngine.DifferenceFoundException
expected - actual - control - test - listener - difference - DifferenceEngine.DifferenceFoundExceptionprotected void compare(Object expected, Object actual, Node control, Node test, DifferenceListener listener, Difference difference, XpathNodeTracker controlLoc, XpathNodeTracker testLoc) throws DifferenceEngine.DifferenceFoundException
expected - actual - control - test - listener - difference - controlLoc - testLoc - DifferenceEngine.DifferenceFoundExceptionCopyright © 2001–2020 XMLUnit. All rights reserved.