java.lang.Object
edu.internet2.middleware.grouperClientExt.org.apache.commons.lang3.builder.DiffResult<T>
Type Parameters:
T - type of the left and right object.
All Implemented Interfaces:
Iterable<Diff<?>>

public class DiffResult<T> extends Object implements 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 Details

    • OBJECTS_SAME_STRING

      public static final String OBJECTS_SAME_STRING

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

      See Also:
  • Method Details

    • 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 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 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 Object
      Returns:
      a String description of the differences.
    • toString

      public 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 Iterator<Diff<?>> iterator()

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

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