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 for `RawText`.

### Field Summary

Fields
`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

Constructors
`RawTextComparator()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`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`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### 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

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

### Constructor Detail

#### RawTextComparator

    public RawTextComparator()

### 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'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>`
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)

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.

Overrides:
  `reduceCommonStartEnd` in class `SequenceComparator<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.