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.
@FunctionalInterface public interface Diffable<T>Diffableclasses can be compared with other objects for differences. TheDiffResultobject retrieved can be queried for a list of differences or printed using theDiffResult.toString().The calculation of the differences is consistent with equals if and only if
d1.equals(d2)impliesd1.diff(d2) == "". It is strongly recommended that implementations are consistent with equals to avoid confusion. Note thatnullis not an instance of any class andd1.diff(null)should throw aNullPointerException.Diffableclasses 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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description DiffResult<T>diff(T obj)Retrieves a list of the differences between this object and the supplied object.
-
-
-
Method Detail
-
diff
DiffResult<T> diff(T obj)
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:
java.lang.NullPointerException- if the specified object isnull
-
-