Interface ITokenComparator

All Superinterfaces:
IRangeComparator
All Known Implementing Classes:
DocLineComparator, 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:
  • Method Summary

    Modifier and Type
    Method
    Description
    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 Details

    • 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