# Interface IDiff

All Known Subinterfaces:
  `IResourceDiff, IThreeWayDiff, ITwoWayDiff`

All Known Implementing Classes:
  `Diff, ResourceDiff, ThreeWayDiff, TwoWayDiff`

public interface IDiff
A diff describes differences between two or more model objects.

Since:
  3.2
See Also:
  - `ITwoWayDiff`
  - `IThreeWayDiff`
Restriction:
  This interface is not intended to be implemented by clients. Instead, clients can subclass `Diff`.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`ADD`
Diff kind constant (bit mask) indicating that the resource has been added to its parent.
`static final int`
`CHANGE`
Diff kind constant (bit mask) indicating that the resource has been changed.
`static final int`
`NO_CHANGE`
Diff kind constant (bit mask) indicating that the resource has not been changed in any way.
`static final int`
`REMOVE`
Diff kind constant (bit mask) indicating that the resource has been removed from its parent.

## Method Summary

Modifier and Type
Method
Description
`int`
`getKind()`
Returns the kind of this diff.
`IPath`
`getPath()`
Returns the full, absolute path of the object to which the diff applies with respect to the model root.
`String`
`toDiffString()`
Return a string that describes the difference represented by this node.

## Field Details

### NO_CHANGE

static final int NO_CHANGE
Diff kind constant (bit mask) indicating that the resource has not been changed in any way.

See Also:
  - `getKind()`
  - Constant Field Values

### ADD

static final int ADD
Diff kind constant (bit mask) indicating that the resource has been added to its parent. That is, one that appears in the "after" state, not in the "before" one.

See Also:
  - `getKind()`
  - Constant Field Values

### REMOVE

static final int REMOVE
Diff kind constant (bit mask) indicating that the resource has been removed from its parent. That is, one that appears in the "before" state, not in the "after" one.

See Also:
  - `getKind()`
  - Constant Field Values

### CHANGE

static final int CHANGE
Diff kind constant (bit mask) indicating that the resource has been changed. That is, one that appears in both the "before" and "after" states.

See Also:
  - `getKind()`
  - Constant Field Values

## Method Details

### getPath

IPath getPath()
Returns the full, absolute path of the object to which the diff applies with respect to the model root.

Note: the returned path never has a trailing separator.

Returns:
  the full, absolute path of this diff

### getKind

int getKind()
Returns the kind of this diff. Normally, one of `ADDED`, `REMOVED`, `CHANGED`.

Returns:
  the kind of this diff
See Also:
  - `ADD`
  - `REMOVE`
  - `CHANGE`

### toDiffString

String toDiffString()
Return a string that describes the difference represented by this node.

Returns:
  a string that describes the difference represented by this node