T
- the type of objects that this object may be differentiated against@FunctionalInterface public interface Diffable<T>
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);
Modifier and Type | Method and Description |
---|---|
DiffResult<T> |
diff(T obj)
Retrieves a list of the differences between
this object and the supplied object.
|
DiffResult<T> diff(T obj)
Retrieves a list of the differences between this object and the supplied object.
obj
- the object to diff against, can be null
NullPointerException
- if the specified object is null
Copyright © 2001–2021 The Apache Software Foundation. All rights reserved.