Class RangeDifferencer
- java.lang.Object
-
- org.eclipse.compare.rangedifferencer.RangeDifferencer
-
public final class RangeDifferencer extends Object
ARangeDifferencerfinds the differences between two or threeIRangeComparators.To use the differencer, clients provide an
IRangeComparatorthat breaks their input data into a sequence of comparable entities. The differencer returns the differences among these sequences as an array ofRangeDifferenceobjects (findDifferencesmethods). EveryRangeDifferencerepresents a single kind of difference and the corresponding ranges of the underlying comparable entities in the left, right, and optionally ancestor sides.Alternatively, the
findRangesmethods not only return objects for the differing ranges but for non-differing ranges too.- See Also:
IRangeComparator,RangeDifference
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static RangeDifference[]findDifferences(AbstractRangeDifferenceFactory factory, IProgressMonitor pm, IRangeComparator left, IRangeComparator right)Finds the differences between twoIRangeComparators.static RangeDifference[]findDifferences(AbstractRangeDifferenceFactory factory, IProgressMonitor pm, IRangeComparator ancestor, IRangeComparator left, IRangeComparator right)Finds the differences among threeIRangeComparators.static RangeDifference[]findDifferences(IRangeComparator left, IRangeComparator right)Finds the differences between twoIRangeComparators.static RangeDifference[]findDifferences(IRangeComparator ancestor, IRangeComparator left, IRangeComparator right)Finds the differences among threeIRangeComparators.static RangeDifference[]findDifferences(IProgressMonitor pm, IRangeComparator left, IRangeComparator right)Finds the differences between twoIRangeComparators.static RangeDifference[]findDifferences(IProgressMonitor pm, IRangeComparator ancestor, IRangeComparator left, IRangeComparator right)Finds the differences among threeIRangeComparators.static RangeDifference[]findRanges(AbstractRangeDifferenceFactory factory, IProgressMonitor pm, IRangeComparator left, IRangeComparator right)Finds the differences among twoIRangeComparators.static RangeDifference[]findRanges(AbstractRangeDifferenceFactory factory, IProgressMonitor pm, IRangeComparator ancestor, IRangeComparator left, IRangeComparator right)Finds the differences among threeIRangeComparators.static RangeDifference[]findRanges(IRangeComparator left, IRangeComparator right)Finds the differences among twoIRangeComparators.static RangeDifference[]findRanges(IRangeComparator ancestor, IRangeComparator left, IRangeComparator right)Finds the differences among threeIRangeComparators.static RangeDifference[]findRanges(IProgressMonitor pm, IRangeComparator left, IRangeComparator right)Finds the differences among twoIRangeComparators.static RangeDifference[]findRanges(IProgressMonitor pm, IRangeComparator ancestor, IRangeComparator left, IRangeComparator right)Finds the differences among threeIRangeComparators.
-
-
-
Method Detail
-
findDifferences
public static RangeDifference[] findDifferences(IRangeComparator left, IRangeComparator right)
Finds the differences between twoIRangeComparators. The differences are returned as an array ofRangeDifferences. If no differences are detected an empty array is returned.- Parameters:
left- the left range comparatorright- the right range comparator- Returns:
- an array of range differences, or an empty array if no differences were found
-
findDifferences
public static RangeDifference[] findDifferences(IProgressMonitor pm, IRangeComparator left, IRangeComparator right)
Finds the differences between twoIRangeComparators. The differences are returned as an array ofRangeDifferences. If no differences are detected an empty array is returned.- Parameters:
pm- if notnullused to report progressleft- the left range comparatorright- the right range comparator- Returns:
- an array of range differences, or an empty array if no differences were found
- Since:
- 2.0
-
findDifferences
public static RangeDifference[] findDifferences(AbstractRangeDifferenceFactory factory, IProgressMonitor pm, IRangeComparator left, IRangeComparator right)
Finds the differences between twoIRangeComparators. The differences are returned as an array ofRangeDifferences. If no differences are detected an empty array is returned.- Parameters:
factory-pm- if notnullused to report progressleft- the left range comparatorright- the right range comparator- Returns:
- an array of range differences, or an empty array if no differences were found
- Since:
- org.eclipse.compare.core 3.5
-
findDifferences
public static RangeDifference[] findDifferences(IRangeComparator ancestor, IRangeComparator left, IRangeComparator right)
Finds the differences among threeIRangeComparators. The differences are returned as a list ofRangeDifferences. If no differences are detected an empty list is returned. If the ancestor range comparator isnull, a two-way comparison is performed.- Parameters:
ancestor- the ancestor range comparator ornullleft- the left range comparatorright- the right range comparator- Returns:
- an array of range differences, or an empty array if no differences were found
-
findDifferences
public static RangeDifference[] findDifferences(IProgressMonitor pm, IRangeComparator ancestor, IRangeComparator left, IRangeComparator right)
Finds the differences among threeIRangeComparators. The differences are returned as a list ofRangeDifferences. If no differences are detected an empty list is returned. If the ancestor range comparator isnull, a two-way comparison is performed.- Parameters:
pm- if notnullused to report progressancestor- the ancestor range comparator ornullleft- the left range comparatorright- the right range comparator- Returns:
- an array of range differences, or an empty array if no differences were found
- Since:
- 2.0
-
findDifferences
public static RangeDifference[] findDifferences(AbstractRangeDifferenceFactory factory, IProgressMonitor pm, IRangeComparator ancestor, IRangeComparator left, IRangeComparator right)
Finds the differences among threeIRangeComparators. The differences are returned as a list ofRangeDifferences. If no differences are detected an empty list is returned. If the ancestor range comparator isnull, a two-way comparison is performed.- Parameters:
factory-pm- if notnullused to report progressancestor- the ancestor range comparator ornullleft- the left range comparatorright- the right range comparator- Returns:
- an array of range differences, or an empty array if no differences were found
- Since:
- org.eclipse.compare.core 3.5
-
findRanges
public static RangeDifference[] findRanges(IRangeComparator left, IRangeComparator right)
Finds the differences among twoIRangeComparators. In contrast tofindDifferences, the result containsRangeDifferenceelements for non-differing ranges too.- Parameters:
left- the left range comparatorright- the right range comparator- Returns:
- an array of range differences
-
findRanges
public static RangeDifference[] findRanges(IProgressMonitor pm, IRangeComparator left, IRangeComparator right)
Finds the differences among twoIRangeComparators. In contrast tofindDifferences, the result containsRangeDifferenceelements for non-differing ranges too.- Parameters:
pm- if notnullused to report progressleft- the left range comparatorright- the right range comparator- Returns:
- an array of range differences
- Since:
- 2.0
-
findRanges
public static RangeDifference[] findRanges(AbstractRangeDifferenceFactory factory, IProgressMonitor pm, IRangeComparator left, IRangeComparator right)
Finds the differences among twoIRangeComparators. In contrast tofindDifferences, the result containsRangeDifferenceelements for non-differing ranges too.- Parameters:
factory-pm- if notnullused to report progressleft- the left range comparatorright- the right range comparator- Returns:
- an array of range differences
- Since:
- org.eclipse.compare.core 3.5
-
findRanges
public static RangeDifference[] findRanges(IRangeComparator ancestor, IRangeComparator left, IRangeComparator right)
Finds the differences among threeIRangeComparators. In contrast tofindDifferences, the result containsRangeDifferenceelements for non-differing ranges too. If the ancestor range comparator isnull, a two-way comparison is performed.- Parameters:
ancestor- the ancestor range comparator ornullleft- the left range comparatorright- the right range comparator- Returns:
- an array of range differences
-
findRanges
public static RangeDifference[] findRanges(IProgressMonitor pm, IRangeComparator ancestor, IRangeComparator left, IRangeComparator right)
Finds the differences among threeIRangeComparators. In contrast tofindDifferences, the result containsRangeDifferenceelements for non-differing ranges too. If the ancestor range comparator isnull, a two-way comparison is performed.- Parameters:
pm- if notnullused to report progressancestor- the ancestor range comparator ornullleft- the left range comparatorright- the right range comparator- Returns:
- an array of range differences
- Since:
- 2.0
-
findRanges
public static RangeDifference[] findRanges(AbstractRangeDifferenceFactory factory, IProgressMonitor pm, IRangeComparator ancestor, IRangeComparator left, IRangeComparator right)
Finds the differences among threeIRangeComparators. In contrast tofindDifferences, the result containsRangeDifferenceelements for non-differing ranges too. If the ancestor range comparator isnull, a two-way comparison is performed.- Parameters:
factory-pm- if notnullused to report progressancestor- the ancestor range comparator ornullleft- the left range comparatorright- the right range comparator- Returns:
- an array of range differences
- Since:
- org.eclipse.compare.core 3.5
-
-