Package org.apache.commons.lang3.builder
Interface Diffable<T>
- Type Parameters:
T- the type of objects that this object may be differentiated against
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Diffable classes can be compared with other objects
for differences. The DiffResult object retrieved can be queried
for a list of differences or printed using the DiffResult.toString().
The calculation of the differences is consistent with equals if
and only if d1.equals(d2) implies d1.diff(d2) == "".
It is strongly recommended that implementations are consistent with equals
to avoid confusion. Note that null is not an instance of any class
and d1.diff(null) should throw a NullPointerException.
Diffable classes lend themselves well to unit testing, in which a
easily readable description of the differences between an anticipated result and
an actual result can be retrieved. For example:
Assert.assertEquals(expected.diff(result), expected, result);
- Since:
- 3.3
-
Method Summary
Modifier and TypeMethodDescriptionRetrieves a list of the differences between this object and the supplied object.
-
Method Details
-
diff
Retrieves a list of the differences between this object and the supplied object.- Parameters:
obj- the object to diff against, can benull- Returns:
- a list of differences
- Throws:
NullPointerException- if the specified object isnull
-