public interface IRangeComparator
It is used by RangeDifferencer
to find longest sequences of
matching and non-matching ranges.
For example, to compare two text documents and find longest common sequences
of matching and non-matching lines, the implementation must break the document
into lines. getRangeCount
would return the number of lines in the
document, and rangesEqual
would compare a specified line given
with one in another IRangeComparator
.
Clients should implement this interface; there is no standard implementation.
Modifier and Type | Method and Description |
---|---|
int |
getRangeCount()
Returns the number of comparable entities.
|
boolean |
rangesEqual(int thisIndex,
IRangeComparator other,
int otherIndex)
Returns whether the comparable entity given by the first index
matches an entity specified by the other
IRangeComparator and index. |
boolean |
skipRangeComparison(int length,
int maxLength,
IRangeComparator other)
Returns whether a comparison should be skipped because it would be too costly (or lengthy).
|
int getRangeCount()
boolean rangesEqual(int thisIndex, IRangeComparator other, int otherIndex)
IRangeComparator
and index.thisIndex
- the index of the comparable entity within this IRangeComparator
other
- the IRangeComparator to compare this withotherIndex
- the index of the comparable entity within the other IRangeComparator
true
if the comparable entities are equalboolean skipRangeComparison(int length, int maxLength, IRangeComparator other)
length
- a number on which to base the decision whether to return
true
or false
maxLength
- another number on which to base the decision whether to return
true
or false
other
- the other IRangeComparator
to compare withtrue
to avoid a too lengthy range comparison
Copyright (c) 2000, 2014 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.