# Package org.eclipse.team.core.diff

Application programming interfaces for working with diffs.

## Package Specification

This package specifies the API for working with diffs. Diffs are used to describe differences between two or more states of the same model. The API supports diff descriptions between model elements and model hierarchies. The API also supports specific diffs for the `IResource` model.

Interface Summary
IDiff: A diff describes differences between two or more model objects.
IDiffChangeEvent: A change event that describes changes that have occurred in an `IDiffTree`.
IDiffChangeListener: Diff change listener that reports changes in an `IDiffTree`.
IDiffTree: A diff tree provides access to a tree of `IDiff` instances.
IDiffVisitor: An objects that visits diffs in a diff tree.
IThreeWayDiff: A three-way delta that describe the synchronization state between two contributors and an ancestor.
ITwoWayDiff: A two-way diff represents the changes between two states of the same object, referred to as the "before" state and the "after" state.

Class Summary
DiffFilter: A `DiffNodeFilter` tests an `IDiff` for inclusion, typically in an `IDiffTree`.
FastDiffFilter: A specialized `DiffNodeFilter` that does not require a progress monitor.