Package org.eclipse.compare.contentmergeviewer

## Interface ITokenComparator

All Superinterfaces:
  `IRangeComparator`

All Known Implementing Classes:
  `TokenComparator`

    public interface ITokenComparator
    extends IRangeComparator

For performing a so-called "token compare" on a line of text. This interface extends the `IRangeComparator` interface so that it can be used by the `TextMergeViewer`.

`TextMergeViewer` activates the token compare when navigating into a range of differing lines. At first the lines are selected as a block. When navigating into this block the token compare shows for every line the differing token by selecting them.

`TextMergeViewer`'s default token comparator works on characters separated by whitespace. If a different strategy is needed (for example, to use Java tokens in a Java-aware merge viewer), clients may create their own token comparators by implementing this interface (and overriding the `TextMergeViewer.createTokenComparator` factory method).

See Also:
  `TextMergeViewer`

### Method Summary

All Methods Instance Methods Abstract Methods
`int` `getTokenLength​(int index)` Returns the character length of the token with the given index.
`int` `getTokenStart​(int index)` Returns the start character position of the token with the given index.

### Methods inherited from interface org.eclipse.compare.rangedifferencer.IRangeComparator

`getRangeCount, rangesEqual, skipRangeComparison`

### Method Detail

#### getTokenStart

    int getTokenStart​(int index)

Returns the start character position of the token with the given index. If the index is out of range (but not negative) the character position behind the last character (the length of the input string) is returned.

Parameters:
  `index` - index of the token for which to return the start position
Returns:
  the start position of the token with the given index
Throws:
  `IndexOutOfBoundsException` - if index is negative

#### getTokenLength

    int getTokenLength​(int index)

Returns the character length of the token with the given index. If the index is out of range (but not negative) the value 0 is returned.

Parameters:
  `index` - index of the token for which to return the start position
Returns:
  the character length of the token with the given index
Throws:
  `IndexOutOfBoundsException` - if index is negative