Class DiffResult<T>

  • Type Parameters:
    T - type of the left and right object.
    All Implemented Interfaces:
    java.lang.Iterable<Diff<?>>

    public class DiffResult<T>
    extends java.lang.Object
    implements java.lang.Iterable<Diff<?>>

    A DiffResult contains a collection of the differences between two Diffable objects. Typically these differences are displayed using toString() method, which returns a string describing the fields that differ between the objects.

    Use a DiffBuilder to build a DiffResult comparing two objects.

    Since:
    3.3
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String OBJECTS_SAME_STRING
      The String returned when the objects have no differences: ""
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.List<Diff<?>> getDiffs()
      Returns an unmodifiable list of Diffs.
      T getLeft()
      Returns the object the right object has been compared to.
      int getNumberOfDiffs()
      Returns the number of differences between the two objects.
      T getRight()
      Returns the object the left object has been compared to.
      ToStringStyle getToStringStyle()
      Returns the style used by the toString() method.
      java.util.Iterator<Diff<?>> iterator()
      Returns an iterator over the Diff objects contained in this list.
      java.lang.String toString()
      Builds a String description of the differences contained within this DiffResult.
      java.lang.String toString​(ToStringStyle style)
      Builds a String description of the differences contained within this DiffResult, using the supplied ToStringStyle.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Field Detail

      • OBJECTS_SAME_STRING

        public static final java.lang.String OBJECTS_SAME_STRING

        The String returned when the objects have no differences: ""

        See Also:
        Constant Field Values
    • Method Detail

      • getLeft

        public T getLeft()

        Returns the object the right object has been compared to.

        Returns:
        the left object of the diff
        Since:
        3.10
      • getRight

        public T getRight()

        Returns the object the left object has been compared to.

        Returns:
        the right object of the diff
        Since:
        3.10
      • getDiffs

        public java.util.List<Diff<?>> getDiffs()

        Returns an unmodifiable list of Diffs. The list may be empty if there were no differences between the objects.

        Returns:
        an unmodifiable list of Diffs
      • getNumberOfDiffs

        public int getNumberOfDiffs()

        Returns the number of differences between the two objects.

        Returns:
        the number of differences
      • getToStringStyle

        public ToStringStyle getToStringStyle()

        Returns the style used by the toString() method.

        Returns:
        the style
      • toString

        public java.lang.String toString()

        Builds a String description of the differences contained within this DiffResult. A ToStringBuilder is used for each object and the style of the output is governed by the ToStringStyle passed to the constructor.

        If there are no differences stored in this list, the method will return OBJECTS_SAME_STRING. Otherwise, using the example given in Diffable and ToStringStyle.SHORT_PREFIX_STYLE, an output might be:

         Person[name=John Doe,age=32] differs from Person[name=Joe Bloggs,age=26]
         

        This indicates that the objects differ in name and age, but not in smoking status.

        To use a different ToStringStyle for an instance of this class, use toString(ToStringStyle).

        Overrides:
        toString in class java.lang.Object
        Returns:
        a String description of the differences.
      • toString

        public java.lang.String toString​(ToStringStyle style)

        Builds a String description of the differences contained within this DiffResult, using the supplied ToStringStyle.

        Parameters:
        style - the ToStringStyle to use when outputting the objects
        Returns:
        a String description of the differences.
      • iterator

        public java.util.Iterator<Diff<?>> iterator()

        Returns an iterator over the Diff objects contained in this list.

        Specified by:
        iterator in interface java.lang.Iterable<T>
        Returns:
        the iterator