Package org.eclipse.jgit.diff
Class RawTextComparator
- java.lang.Object
-
- org.eclipse.jgit.diff.SequenceComparator<RawText>
-
- org.eclipse.jgit.diff.RawTextComparator
-
public abstract class RawTextComparator extends SequenceComparator<RawText>
Equivalence function forRawText
.
-
-
Field Summary
Fields Modifier and Type Field Description 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
Ignore leading whitespace.static RawTextComparator
WS_IGNORE_TRAILING
Ignores trailing whitespace.
-
Constructor Summary
Constructors Constructor Description RawTextComparator()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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
equals
-
-
-
-
Field Detail
-
DEFAULT
public static final RawTextComparator DEFAULT
No special treatment.
-
WS_IGNORE_ALL
public static final RawTextComparator WS_IGNORE_ALL
Ignores all whitespace.
-
WS_IGNORE_LEADING
public static final RawTextComparator WS_IGNORE_LEADING
Ignore leading whitespace.
-
WS_IGNORE_TRAILING
public static final RawTextComparator WS_IGNORE_TRAILING
Ignores trailing whitespace.
-
WS_IGNORE_CHANGE
public static final RawTextComparator WS_IGNORE_CHANGE
Ignores whitespace occurring between non-whitespace characters.
-
-
Method Detail
-
hash
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'sSequenceComparator.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 unequal according to theequals()
method.- Specified by:
hash
in classSequenceComparator<RawText>
- Parameters:
seq
- the sequence.lno
- the item to obtain the hash for.- Returns:
- hash the hash value.
-
reduceCommonStartEnd
public Edit reduceCommonStartEnd(RawText a, RawText b, Edit e)
Modify the edit to remove common leading and trailing items. The supplied edite
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.- Overrides:
reduceCommonStartEnd
in classSequenceComparator<RawText>
- Parameters:
a
- the first sequence.b
- the second sequence.e
- the edit to start with and update.- Returns:
e
if it was updated in-place, otherwise a new edit containing the reduced region.
-
hashRegion
protected abstract int hashRegion(byte[] raw, int ptr, int end)
Compute a hash code for a region.- Parameters:
raw
- the raw file content.ptr
- first byte of the region to hash.end
- 1 past the last byte of the region.- Returns:
- hash code for the region
[ptr, end)
of raw.
-
-