org.custommonkey.xmlunit

## Class Difference

- java.lang.Object
- - org.custommonkey.xmlunit.Difference

    public class Difference
    extends java.lang.Object

Value object that describes a difference between DOM Nodes using one of the DifferenceConstants ID values and a NodeDetail instance.
Examples and more at xmlunit.sourceforge.net

See Also:
  `NodeDetail`

### Constructor Summary

Constructors
`protected` `Difference(Difference prototype, NodeDetail controlNodeDetail, NodeDetail testNodeDetail)` Copy constructor using prototype Difference and encountered NodeDetails
`protected` `Difference(int id, java.lang.String description)` Constructor for non-similar Difference instances
`protected` `Difference(int id, java.lang.String description, boolean recoverable)` Constructor for similar Difference instances

### Method Summary

Methods
`boolean` `equals(java.lang.Object other)` Now that Differences can be constructed from prototypes we need to be able to compare them to those in DifferenceConstants
`NodeDetail` `getControlNodeDetail()`
`java.lang.String` `getDescription()`
`int` `getId()`
`NodeDetail` `getTestNodeDetail()`
`int` `hashCode()` hashcode implementation to go with equals.
`boolean` `isRecoverable()`
`protected void` `setRecoverable(boolean overrideValue)` Allow the recoverable field value to be overridden.
`java.lang.String` `toString()`

### Methods inherited from class java.lang.Object

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

### Constructor Detail

#### Difference

    protected Difference(int id,
              java.lang.String description)

Constructor for non-similar Difference instances

Parameters:
  `id` -
  `description` -

#### Difference

    protected Difference(int id,
              java.lang.String description,
              boolean recoverable)

Constructor for similar Difference instances

Parameters:
  `id` -
  `description` -

#### Difference

    protected Difference(Difference prototype,
              NodeDetail controlNodeDetail,
              NodeDetail testNodeDetail)

Copy constructor using prototype Difference and encountered NodeDetails

### Method Detail

#### getId

    public int getId()

Returns:
  the id

#### getDescription

    public java.lang.String getDescription()

Returns:
  the description

#### isRecoverable

    public boolean isRecoverable()

Returns:
  TRUE if the difference represents a similarity, FALSE otherwise

#### setRecoverable

    protected void setRecoverable(boolean overrideValue)

Allow the recoverable field value to be overridden. Used when an override DifferenceListener is used in conjunction with a DetailedDiff.

#### getControlNodeDetail

    public NodeDetail getControlNodeDetail()

Returns:
  the NodeDetail from the piece of XML used as the control at the Node where this difference was encountered

#### getTestNodeDetail

    public NodeDetail getTestNodeDetail()

Returns:
  the NodeDetail from the piece of XML used as the test at the Node where this difference was encountered

#### equals

    public boolean equals(java.lang.Object other)

Now that Differences can be constructed from prototypes we need to be able to compare them to those in DifferenceConstants

Overrides:
  `equals` in class `java.lang.Object`

#### hashCode

    public int hashCode()

hashcode implementation to go with equals.

Overrides:
  `hashCode` in class `java.lang.Object`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`
Returns:
  a basic representation of the object state and identity and if `NodeDetail` instances are populated append their details also