Interface DifferenceEngineConfigurer<D extends DifferenceEngineConfigurer<D>>
- All Known Implementing Classes:
CompareAssert,CompareMatcher,DiffBuilder
DifferenceEngine.- Since:
- 2.6.0
-
Method Summary
Modifier and TypeMethodDescriptionwithAttributeFilter(Predicate<Attr> attributeFilter) Registers a filter for attributes.withComparisonController(ComparisonController comparisonController) Replace theComparisonControllers#Defaultwith your own ComparisonController.withComparisonFormatter(ComparisonFormatter formatter) Sets a non-default formatter for the differences found.withComparisonListeners(ComparisonListener... comparisonListeners) Registers listeners that are notified of each comparison.withDifferenceEvaluator(DifferenceEvaluator differenceEvaluator) Provide your own customDifferenceEvaluatorimplementation.withDifferenceListeners(ComparisonListener... comparisonListeners) Registers listeners that are notified of each comparison with outcome other thanComparisonResult.EQUAL.withNamespaceContext(Map<String, String> prefix2Uri) Establish a namespace context that will be used inComparison.Detail#getXPath.withNodeFilter(Predicate<Node> nodeFilter) Registers a filter for nodes.withNodeMatcher(NodeMatcher nodeMatcher) Sets the strategy for selecting nodes to compare.
-
Method Details
-
withNodeMatcher
Sets the strategy for selecting nodes to compare.Example with
DefaultNodeMatcher:.withNodeMatcher(new DefaultNodeMatcher(ElementSelectors.byNameAndText))
-
withDifferenceEvaluator
Provide your own customDifferenceEvaluatorimplementation.This overwrites the Default DifferenceEvaluator.
If you want use your custom DifferenceEvaluator in combination with the default or another DifferenceEvaluator you should use
DifferenceEvaluators.chain(DifferenceEvaluator...)orDifferenceEvaluators.first(DifferenceEvaluator...)to combine them:.withDifferenceEvaluator( DifferenceEvaluators.chain( DifferenceEvaluators.Default, new MyCustomDifferenceEvaluator())) .... -
withComparisonController
Replace theComparisonControllers#Defaultwith your own ComparisonController.Example use:
.withComparisonController(ComparisonControllers.StopWhenDifferent) -
withComparisonListeners
Registers listeners that are notified of each comparison. -
withDifferenceListeners
Registers listeners that are notified of each comparison with outcome other thanComparisonResult.EQUAL. -
withNamespaceContext
Establish a namespace context that will be used inComparison.Detail#getXPath.Without a namespace context (or with an empty context) the XPath expressions will only use local names for elements and attributes.
- Parameters:
prefix2Uri- mapping between prefix and namespace URI
-
withAttributeFilter
Registers a filter for attributes.Only attributes for which the predicate returns true are part of the comparison. By default all attributes are considered.
The "special" namespace, namespace-location and schema-instance-type attributes can not be ignored this way. If you want to suppress comparison of them you'll need to implement
DifferenceEvaluator. -
withNodeFilter
Registers a filter for nodes.Only nodes for which the predicate returns true are part of the comparison. By default nodes that are not document types are considered.
-
withComparisonFormatter
Sets a non-default formatter for the differences found.
-