org.unitils.reflectionassert.difference
Interface DifferenceVisitor<T,A>

All Known Implementing Classes:
DefaultDifferenceView.DifferenceFormatterVisitor, InnerDifferenceFinder.InnerDifferenceVisitor, MatchingScoreCalculator.MatchingScoreVisitor, TreeDifferenceView.TreeDifferenceFormatterVisitor

public interface DifferenceVisitor<T,A>

A visitor for visiting all types of differences.

All difference classes should implement a double-dispatch method as follows:

 public <T, A> T accept(DifferenceVisitor<T, A> visitor, A argument) {
      return visitor.visit(this, argument);
 }
 

The visitor logic can the be invoked as follows:

 difference.accept(new MyVisitor(), anOptionalArgument);
 

T determines the result type, A determines the type of the optional argument

Author:
Tim Ducheyne, Filip Neven

Method Summary
 T visit(ClassDifference classDifference, A argument)
          Visits a class difference.
 T visit(CollectionDifference collectionDifference, A argument)
          Visits a collection difference.
 T visit(Difference difference, A argument)
          Visits a simple difference.
 T visit(MapDifference mapDifference, A argument)
          Visits a map difference.
 T visit(ObjectDifference objectDifference, A argument)
          Visits an object difference.
 T visit(UnorderedCollectionDifference unorderedCollectionDifference, A argument)
          Visits an unordered collection difference.
 

Method Detail

visit

T visit(Difference difference,
        A argument)
Visits a simple difference.

Parameters:
difference - The difference
argument - An optional argument, null if NA
Returns:
The result

visit

T visit(ObjectDifference objectDifference,
        A argument)
Visits an object difference.

Parameters:
objectDifference - The difference
argument - An optional argument, null if NA
Returns:
The result

visit

T visit(ClassDifference classDifference,
        A argument)
Visits a class difference.

Parameters:
classDifference - The difference
argument - An optional argument, null if NA
Returns:
The result

visit

T visit(MapDifference mapDifference,
        A argument)
Visits a map difference.

Parameters:
mapDifference - The difference
argument - An optional argument, null if NA
Returns:
The result

visit

T visit(CollectionDifference collectionDifference,
        A argument)
Visits a collection difference.

Parameters:
collectionDifference - The difference
argument - An optional argument, null if NA
Returns:
The result

visit

T visit(UnorderedCollectionDifference unorderedCollectionDifference,
        A argument)
Visits an unordered collection difference.

Parameters:
unorderedCollectionDifference - The difference
argument - An optional argument, null if NA
Returns:
The result


Copyright © 2011. All Rights Reserved.