Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.compare.rangedifferencer
Interface IRangeComparator

All Known Subinterfaces:
  ITokenComparator

public interface IRangeComparator

For breaking an object to compare into a sequence of comparable entities.

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.

Method Summary
`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).

Method Detail

### getRangeCount

    public int getRangeCount()

  Returns the number of comparable entities.

  Returns:
    the number of comparable entities

### rangesEqual

    public 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.

  Parameters:
    `thisIndex` - the index of the comparable entity within this `IRangeComparator`
    `other` - the IRangeComparator to compare this with
    `otherIndex` - the index of the comparable entity within the other `IRangeComparator`
  Returns:
    `true` if the comparable entities are equal

### skipRangeComparison

    public boolean skipRangeComparison(int length,
                                       int maxLength,
                                       IRangeComparator other)

  Returns whether a comparison should be skipped because it would be too costly (or lengthy).

  Parameters:
    `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 with
  Returns:
    `true` to avoid a too lengthy range comparison

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.