Package org.eclipse.team.core.diff.provider

# Class Diff

java.lang.Object
org.eclipse.team.core.diff.provider.Diff

All Implemented Interfaces:
  `IDiff`

Direct Known Subclasses:
  `ThreeWayDiff`, `TwoWayDiff`

public abstract class Diff extends Object implements IDiff
Abstract implementation of `IDiff` that can be subclassed by clients.

Since:
  3.2
See Also:
  - `ITwoWayDiff`
  - `IThreeWayDiff`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`KIND_MASK`
Constant (bit mask) that defines the area of the status that is reserved for use by this abstract class for encoding the kind of the diff.

### Fields inherited from interface org.eclipse.team.core.diff.IDiff

`ADD, CHANGE, NO_CHANGE, REMOVE`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`Diff(IPath path, int status)`
Create a diff node.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object obj)`
`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.
`final int`
`getStatus()`
Return the status of the diff node.
`int`
`hashCode()`
`String`
`toDiffString()`
Return a string that describes the difference represented by this node.

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

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

## Field Details

### KIND_MASK

public static final int KIND_MASK
Constant (bit mask) that defines the area of the status that is reserved for use by this abstract class for encoding the kind of the diff.

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

## Constructor Details

### Diff

protected Diff(IPath path, int status)
Create a diff node.

Parameters:
  `path` - the path of the diff
  `status` - the status of the diff. The kind should be encoded in the status along with any additional flags required by a subclass.

## Method Details

### getPath

public IPath getPath()
Description copied from interface: `IDiff`
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.

Specified by:
  `getPath` in interface `IDiff`
Returns:
  the full, absolute path of this diff

### getKind

public int getKind()
Description copied from interface: `IDiff`
Returns the kind of this diff. Normally, one of `ADDED`, `REMOVED`, `CHANGED`.

Specified by:
  `getKind` in interface `IDiff`
Returns:
  the kind of this diff
See Also:
  - `IDiff.ADD`
  - `IDiff.REMOVE`
  - `IDiff.CHANGE`

### getStatus

public final int getStatus()
Return the status of the diff node. The status is a bit field that contains the kind and any additional status information that subclasses need to encode. The first byte of the status is reserved for use by this abstract class as indicated by the `KIND_MASK`.

Returns:
  the status of the diff node

### toDiffString

public String toDiffString()
Description copied from interface: `IDiff`
Return a string that describes the difference represented by this node.

Specified by:
  `toDiffString` in interface `IDiff`
Returns:
  a string that describes the difference represented by this node

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`

### equals

public boolean equals(Object obj)

Overrides:
  `equals` in class `Object`