DiffResult
Date: 2017-02-08

org.apache.commons.lang3.builder

## Class DiffResult

- java.lang.Object
- - org.apache.commons.lang3.builder.DiffResult

- All Implemented Interfaces:
    java.lang.Iterable<Diff<?>>

      public class DiffResult
      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 and Description
    --- | ---
    `static java.lang.String` | `OBJECTS_SAME_STRING` The `String` returned when the objects have no differences: ""

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.List<Diff<?>>` | `getDiffs()` Returns an unmodifiable list of `Diff`s.
    `int` | `getNumberOfDiffs()` Returns the number of differences between the two objects.
    `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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### 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

    - #### getDiffs

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

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

      Returns:
        an unmodifiable list of `Diff`s

    - #### 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<Diff<?>>`
      Returns:
        the iterator