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.
Wraps a
Sequence
to have a narrower range of
elements.
This sequence acts as a proxy for the real sequence, translating element
indexes on the fly by adding begin
to them. Sequences of this type
must be used with a SubsequenceComparator
.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionSubsequence
(S base, int begin, int end) Construct a subset of another sequence. -
Method Summary
Modifier and TypeMethodDescriptionstatic <S extends Sequence>
Subsequence<S>Construct a subsequence around the A region/base sequence.static <S extends Sequence>
Subsequence<S>Construct a subsequence around the B region/base sequence.int
size()
Get sizetoBase
(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.
-
Field Details
-
base
-
begin
final int begin -
size
private final int size
-
-
Constructor Details
-
Subsequence
Construct a subset of another sequence. The size of the subsequence will beend - begin
.- Parameters:
base
- the real sequence.begin
- First element index ofbase
that will be part of this new subsequence. The element atbegin
will be this sequence's element 0.end
- One past the last element index ofbase
that will be part of this new subsequence.
-
-
Method Details
-
a
Construct a subsequence around the A region/base sequence.- Parameters:
a
- the A sequence.region
- the region ofa
to create a subsequence around.- Returns:
- subsequence of
base
as described by A inregion
.
-
b
Construct a subsequence around the B region/base sequence.- Parameters:
b
- the B sequence.region
- the region ofb
to create a subsequence around.- Returns:
- subsequence of
base
as described by B inregion
.
-
toBase
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).
-
size
public int size()Get size
-