Package org.eclipse.jgit.diff
Class SubsequenceComparator<S extends Sequence>
java.lang.Object
org.eclipse.jgit.diff.SequenceComparator<Subsequence<S>>
org.eclipse.jgit.diff.SubsequenceComparator<S>
- Type Parameters:
S
- the base sequence type.
public final class SubsequenceComparator<S extends Sequence>
extends SequenceComparator<Subsequence<S>>
Wrap another comparator for use with
Subsequence
.
This comparator acts as a proxy for the real comparator, translating element
indexes on the fly by adding the subsequence's begin offset to them.
Comparators of this type must be used with a
Subsequence
.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionSubsequenceComparator
(SequenceComparator<? super S> cmp) Construct a comparator wrapping another comparator. -
Method Summary
Modifier and TypeMethodDescriptionboolean
equals
(Subsequence<S> a, int ai, Subsequence<S> b, int bi) Compare two items to determine if they are equivalent.int
hash
(Subsequence<S> seq, int ptr) Get a hash value for an item in a sequence.Methods inherited from class org.eclipse.jgit.diff.SequenceComparator
reduceCommonStartEnd
-
Field Details
-
cmp
-
-
Constructor Details
-
SubsequenceComparator
Construct a comparator wrapping another comparator.- Parameters:
cmp
- the real comparator.
-
-
Method Details
-
equals
Compare two items to determine if they are equivalent. It is permissible to compare sequencea
with itself (by passinga
again in positionb
).- Specified by:
equals
in classSequenceComparator<Subsequence<S extends Sequence>>
- Parameters:
a
- the first sequence.ai
- item ofai
to compare.b
- the second sequence.bi
- item ofbi
to compare.- Returns:
- true if the two items are identical according to this function's equivalence rule.
-
hash
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<Subsequence<S extends Sequence>>
- Parameters:
seq
- the sequence.ptr
- the item to obtain the hash for.- Returns:
- hash the hash value.
-