Package org.eclipse.jgit.diff
Class Subsequence<S extends Sequence>
- java.lang.Object
-
- org.eclipse.jgit.diff.Sequence
-
- org.eclipse.jgit.diff.Subsequence<S>
-
- Type Parameters:
S- the base sequence type.
public final class Subsequence<S extends Sequence> extends Sequence
Wraps aSequenceto have a narrower range of elements.This sequence acts as a proxy for the real sequence, translating element indexes on the fly by adding
beginto them. Sequences of this type must be used with aSubsequenceComparator.
-
-
Constructor Summary
Constructors Constructor Description Subsequence(S base, int begin, int end)Construct a subset of another sequence.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <S extends Sequence>
Subsequence<S>a(S a, Edit region)Construct a subsequence around the A region/base sequence.static <S extends Sequence>
Subsequence<S>b(S b, Edit region)Construct a subsequence around the B region/base sequence.intsize()Get sizestatic <S extends Sequence>
EditListtoBase(EditList edits, Subsequence<S> a, Subsequence<S> b)Adjust the Edits to reflect positions in the base sequence.static <S extends Sequence>
voidtoBase(Edit e, Subsequence<S> a, Subsequence<S> b)Adjust the Edit to reflect positions in the base sequence.
-
-
-
Constructor Detail
-
Subsequence
public Subsequence(S base, int begin, int end)
Construct a subset of another sequence. The size of the subsequence will beend - begin.- Parameters:
base- the real sequence.begin- First element index ofbasethat will be part of this new subsequence. The element atbeginwill be this sequence's element 0.end- One past the last element index ofbasethat will be part of this new subsequence.
-
-
Method Detail
-
a
public static <S extends Sequence> Subsequence<S> a(S a, Edit region)
Construct a subsequence around the A region/base sequence.- Parameters:
a- the A sequence.region- the region ofato create a subsequence around.- Returns:
- subsequence of
baseas described by A inregion.
-
b
public static <S extends Sequence> Subsequence<S> b(S b, Edit region)
Construct a subsequence around the B region/base sequence.- Parameters:
b- the B sequence.region- the region ofbto create a subsequence around.- Returns:
- subsequence of
baseas described by B inregion.
-
toBase
public static <S extends Sequence> void toBase(Edit e, Subsequence<S> a, Subsequence<S> b)
Adjust the Edit to reflect positions in the base sequence.- Parameters:
e- edit to adjust in-place. Prior to invocation the indexes are in terms of the two subsequences; after invocation the indexes are in terms of the base sequences.a- the A sequence.b- the B sequence.
-
toBase
public static <S extends Sequence> EditList toBase(EditList edits, Subsequence<S> a, Subsequence<S> b)
Adjust the Edits to reflect positions in the base sequence.- Parameters:
edits- edits to adjust in-place. Prior to invocation the indexes are in terms of the two subsequences; after invocation the indexes are in terms of the base sequences.a- the A sequence.b- the B sequence.- Returns:
- always
edits(as the list was updated in-place).
-
-