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

### Method Summary

All Methods Instance Methods Concrete Methods
`java.util.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.
`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`

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