Package org.eclipse.jgit.diff
Class Edit
- java.lang.Object
-
- org.eclipse.jgit.diff.Edit
-
public class Edit extends Object
A modified region detected between two versions of roughly the same content.An edit covers the modified region only. It does not cover a common region.
Regions should be specified using 0 based notation, so add 1 to the start and end marks for line numbers in a file.
An edit where
beginA == endA && beginB < endB
is an insert edit, that is sequence B inserted the elements in region[beginB, endB)
atbeginA
.An edit where
beginA < endA && beginB == endB
is a delete edit, that is sequence B has removed the elements between[beginA, endA)
.An edit where
beginA < endA && beginB < endB
is a replace edit, that is sequence B has replaced the range of elements between[beginA, endA)
with those found in[beginB, endB)
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Edit.Type
Type of edit
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Edit
after(Edit cut)
Construct a new edit representing the region after cut.Edit
before(Edit cut)
Construct a new edit representing the region before cut.boolean
equals(Object o)
void
extendA()
IncreasegetEndA()
by 1.void
extendB()
IncreasegetEndB()
by 1.int
getBeginA()
Get start point in sequence Aint
getBeginB()
Get start point in sequence Bint
getEndA()
Get end point in sequence Aint
getEndB()
Get end point in sequence Bint
getLengthA()
Get length of the region in Aint
getLengthB()
Get length of the region in BEdit.Type
getType()
Get typeint
hashCode()
boolean
isEmpty()
Whether edit is emptyvoid
shift(int amount)
Move the edit region by the specified amount.void
swap()
Swap A and B, so the edit goes the other direction.String
toString()
-
-
-
Constructor Detail
-
Edit
public Edit(int as, int bs)
Create a new empty edit.- Parameters:
as
- beginA: start and end of region in sequence A; 0 based.bs
- beginB: start and end of region in sequence B; 0 based.
-
Edit
public Edit(int as, int ae, int bs, int be)
Create a new edit.- Parameters:
as
- beginA: start of region in sequence A; 0 based.ae
- endA: end of region in sequence A; must be >= as.bs
- beginB: start of region in sequence B; 0 based.be
- endB: end of region in sequence B; must be > = bs.
-
-
Method Detail
-
getType
public final Edit.Type getType()
Get type- Returns:
- the type of this region
-
isEmpty
public final boolean isEmpty()
Whether edit is empty- Returns:
true
if the edit is empty (lengths of both a and b is zero)
-
getBeginA
public final int getBeginA()
Get start point in sequence A- Returns:
- start point in sequence A
-
getEndA
public final int getEndA()
Get end point in sequence A- Returns:
- end point in sequence A
-
getBeginB
public final int getBeginB()
Get start point in sequence B- Returns:
- start point in sequence B
-
getEndB
public final int getEndB()
Get end point in sequence B- Returns:
- end point in sequence B
-
getLengthA
public final int getLengthA()
Get length of the region in A- Returns:
- length of the region in A
-
getLengthB
public final int getLengthB()
Get length of the region in B- Returns:
- return length of the region in B
-
shift
public final void shift(int amount)
Move the edit region by the specified amount.- Parameters:
amount
- the region is shifted by this amount, and can be positive or negative.- Since:
- 4.8
-
before
public final Edit before(Edit cut)
Construct a new edit representing the region before cut.- Parameters:
cut
- the cut point. The beginning A and B points are used as the end points of the returned edit.- Returns:
- an edit representing the slice of
this
edit that occurs beforecut
starts.
-
after
public final Edit after(Edit cut)
Construct a new edit representing the region after cut.- Parameters:
cut
- the cut point. The ending A and B points are used as the starting points of the returned edit.- Returns:
- an edit representing the slice of
this
edit that occurs aftercut
ends.
-
extendA
public void extendA()
IncreasegetEndA()
by 1.
-
extendB
public void extendB()
IncreasegetEndB()
by 1.
-
swap
public void swap()
Swap A and B, so the edit goes the other direction.
-
-