<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="Author" content="IBM">
   <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">
   <title>Package-level Javadoc</title>
</head>
<body>
Provides support for finding the differences between
two or three sequences of comparable entities.
<h2>
Package Specification</h2>

The class <b>RangeDifferencer</b> finds longest sequences of matching and
non-matching comparable entities.
<p>

Clients must supply the input to the differencer as an implementation
of the <b>IRangeComparator</b> interface.
An <b>IRangeComparator</b> breaks the input data into a sequence
of entities and provides a method for comparing
one entity with the entity in another <b>IRangeComparator</b>.
<p>

For example, to compare two text documents and find longest common
sequences of matching and non-matching lines,
the implementation of <b>IRangeComparator</b> 
must break the document into lines and provide a method for testing
whether two lines are considered equal.
See <b>org.eclipse.compare.internal.DocLineComparator</b> for how this can be done.
<p>

The differencer returns the differences among these sequences as an
array of <b>RangeDifference</b> objects.
Every single <b>RangeDifference</b> describes the kind of difference
(no change, change, addition, deletion) and the corresponding ranges
of the underlying comparable entities in the two or three inputs.

</body>
</html>
