org.apache.commons.lang3.builder

## Class DiffResult<T>

- java.lang.Object
- - 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 Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static 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 and Description
    --- | ---
    `List<Diff<?>>` | `getDiffs()` Returns an unmodifiable list of `Diff`s.
    `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.
    `Iterator<Diff<?>>` | `iterator()` Returns an iterator over the `Diff` objects contained in this list.
    `String` | `toString()` Builds a `String` description of the differences contained within this `DiffResult`.
    `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`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Field Detail

    - #### OBJECTS_SAME_STRING

          public static final 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 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 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<Diff<?>>`
      Returns:
        the iterator

Copyright © 2001–2023 The Apache Software Foundation. All rights reserved.