Class RawTextComparator

  extended by org.eclipse.jgit.diff.SequenceComparator<RawText>
      extended by org.eclipse.jgit.diff.RawTextComparator

public abstract class RawTextComparator
extends SequenceComparator<RawText>

Equivalence function for RawText.

Field Summary
static RawTextComparator DEFAULT
          No special treatment.
static RawTextComparator WS_IGNORE_ALL
          Ignores all whitespace.
static RawTextComparator WS_IGNORE_CHANGE
          Ignores whitespace occurring between non-whitespace characters.
static RawTextComparator WS_IGNORE_LEADING
          Ignores leading whitespace.
static RawTextComparator WS_IGNORE_TRAILING
          Ignores trailing whitespace.
Constructor Summary
Method Summary
 int hash(RawText seq, int lno)
          Get a hash value for an item in a sequence.
protected abstract  int hashRegion(byte[] raw, int ptr, int end)
          Compute a hash code for a region.
 Edit reduceCommonStartEnd(RawText a, RawText b, Edit e)
          Modify the edit to remove common leading and trailing items.
Methods inherited from class org.eclipse.jgit.diff.SequenceComparator
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


public static final RawTextComparator DEFAULT
No special treatment.


public static final RawTextComparator WS_IGNORE_ALL
Ignores all whitespace.


public static final RawTextComparator WS_IGNORE_LEADING
Ignores leading whitespace.


public static final RawTextComparator WS_IGNORE_TRAILING
Ignores trailing whitespace.


public static final RawTextComparator WS_IGNORE_CHANGE
Ignores whitespace occurring between non-whitespace characters.

Constructor Detail


public RawTextComparator()
Method Detail


public int hash(RawText seq,
                int lno)
Description copied from class: SequenceComparator
Get a hash value for an item in a sequence. If two items are equal according to this comparator's SequenceComparator.equals(Sequence, int, Sequence, int) method, then this hash method must produce the same integer result for both items. It is not required for two items to have different hash values if they are are unequal according to the equals() method.

Specified by:
hash in class SequenceComparator<RawText>
seq - the sequence.
lno - the item to obtain the hash for.
hash the hash value.


public Edit reduceCommonStartEnd(RawText a,
                                 RawText b,
                                 Edit e)
Description copied from class: SequenceComparator
Modify the edit to remove common leading and trailing items. The supplied edit e is reduced in size by moving the beginning A and B points so the edit does not cover any items that are in common between the two sequences. The ending A and B points are also shifted to remove common items from the end of the region.

reduceCommonStartEnd in class SequenceComparator<RawText>
a - the first sequence.
b - the second sequence.
e - the edit to start with and update.
e if it was updated in-place, otherwise a new edit containing the reduced region.


protected abstract int hashRegion(byte[] raw,
                                  int ptr,
                                  int end)
Compute a hash code for a region.

raw - the raw file content.
ptr - first byte of the region to hash.
end - 1 past the last byte of the region.
hash code for the region [ptr, end) of raw.

Copyright © 2012. All Rights Reserved.