- 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 < endBis an insert edit, that is sequence B inserted the elements in region[beginB, endB)atbeginA.An edit where
beginA < endA && beginB == endBis a delete edit, that is sequence B has removed the elements between[beginA, endA).An edit where
beginA < endA && beginB < endBis 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 classEdit.TypeType of edit
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Editafter(Edit cut)Construct a new edit representing the region after cut.Editbefore(Edit cut)Construct a new edit representing the region before cut.booleanequals(Object o)voidextendA()IncreasegetEndA()by 1.voidextendB()IncreasegetEndB()by 1.intgetBeginA()Get start point in sequence AintgetBeginB()Get start point in sequence BintgetEndA()Get end point in sequence AintgetEndB()Get end point in sequence BintgetLengthA()Get length of the region in AintgetLengthB()Get length of the region in BEdit.TypegetType()Get typeinthashCode()booleanisEmpty()Whether edit is emptyvoidshift(int amount)Move the edit region by the specified amount.voidswap()Swap A and B, so the edit goes the other direction.StringtoString()
-
-
-
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:
trueif 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
thisedit that occurs beforecutstarts.
-
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
thisedit that occurs aftercutends.
-
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.
-
-