Top Description Inners Fields Constructors Methods
org.eclipse.jgit.diff

public Class Edit

extends Object
Class Inheritance

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) at beginA.

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 and Inner Type Summary

Modifier and TypeClass and Description
public static enum
Edit.Type

Type of edit

Field Summary

Modifier and TypeField and Description
pack-priv int
pack-priv int
pack-priv int
pack-priv int

Constructor Summary

AccessConstructor and Description
public
Edit(int
beginA: start and end of region in sequence A; 0 based.
as
,
int
beginB: start and end of region in sequence B; 0 based.
bs
)

Create a new empty edit.

public
Edit(int
beginA: start of region in sequence A; 0 based.
as
,
int
endA: end of region in sequence A; must be >= as.
ae
,
int
beginB: start of region in sequence B; 0 based.
bs
,
int
endB: end of region in sequence B; must be > = bs.
be
)

Create a new edit.

Method Summary

Modifier and TypeMethod and Description
public final Edit

Returns:

an edit representing the slice of this edit that occurs after cut ends.
after
(Edit
the cut point. The ending A and B points are used as the starting points of the returned edit.
cut
)

Construct a new edit representing the region after cut.

public final Edit

Returns:

an edit representing the slice of this edit that occurs before cut starts.
before
(Edit
the cut point. The beginning A and B points are used as the end points of the returned edit.
cut
)

Construct a new edit representing the region before cut.

public boolean
equals(Object
the reference object with which to compare.
o
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public void
extendA()

Increase getEndA() by 1.

public void
extendB()

Increase getEndB() by 1.

public final int

Returns:

start point in sequence A
getBeginA
()

Get start point in sequence A

public final int

Returns:

start point in sequence B
getBeginB
()

Get start point in sequence B

public final int

Returns:

end point in sequence A
getEndA
()

Get end point in sequence A

public final int

Returns:

end point in sequence B
getEndB
()

Get end point in sequence B

public final int

Returns:

length of the region in A
getLengthA
()

Get length of the region in A

public final int

Returns:

return length of the region in B
getLengthB
()

Get length of the region in B

public final Edit.Type

Returns:

the type of this region
getType
()

Get type

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

public final boolean

Returns:

true if the edit is empty (lengths of both a and b is zero)
isEmpty
()

Whether edit is empty

public final void
shift(int
the region is shifted by this amount, and can be positive or negative.
amount
)

Move the edit region by the specified amount.

public void
swap()

Swap A and B, so the edit goes the other direction.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

beginAback to summary
pack-priv int beginA
beginBback to summary
pack-priv int beginB
endAback to summary
pack-priv int endA
endBback to summary
pack-priv int endB

Constructor Detail

Editback to summary
public Edit(int as, int bs)

Create a new empty edit.

Parameters
as:int

beginA: start and end of region in sequence A; 0 based.

bs:int

beginB: start and end of region in sequence B; 0 based.

Editback to summary
public Edit(int as, int ae, int bs, int be)

Create a new edit.

Parameters
as:int

beginA: start of region in sequence A; 0 based.

ae:int

endA: end of region in sequence A; must be >= as.

bs:int

beginB: start of region in sequence B; 0 based.

be:int

endB: end of region in sequence B; must be > = bs.

Method Detail

afterback to summary
public final Edit after(Edit cut)

Construct a new edit representing the region after cut.

Parameters
cut:Edit

the cut point. The ending A and B points are used as the starting points of the returned edit.

Returns:Edit

an edit representing the slice of this edit that occurs after cut ends.

beforeback to summary
public final Edit before(Edit cut)

Construct a new edit representing the region before cut.

Parameters
cut:Edit

the cut point. The beginning A and B points are used as the end points of the returned edit.

Returns:Edit

an edit representing the slice of this edit that occurs before cut starts.

equalsback to summary
public boolean equals(Object o)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
o:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
extendAback to summary
public void extendA()

Increase getEndA() by 1.

extendBback to summary
public void extendB()

Increase getEndB() by 1.

getBeginAback to summary
public final int getBeginA()

Get start point in sequence A

Returns:int

start point in sequence A

getBeginBback to summary
public final int getBeginB()

Get start point in sequence B

Returns:int

start point in sequence B

getEndAback to summary
public final int getEndA()

Get end point in sequence A

Returns:int

end point in sequence A

getEndBback to summary
public final int getEndB()

Get end point in sequence B

Returns:int

end point in sequence B

getLengthAback to summary
public final int getLengthA()

Get length of the region in A

Returns:int

length of the region in A

getLengthBback to summary
public final int getLengthB()

Get length of the region in B

Returns:int

return length of the region in B

getTypeback to summary
public final Edit.Type getType()

Get type

Returns:Edit.Type

the type of this region

hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object

Annotations
@Override
isEmptyback to summary
public final boolean isEmpty()

Whether edit is empty

Returns:boolean

true if the edit is empty (lengths of both a and b is zero)

shiftback to summary
public final void shift(int amount)

Move the edit region by the specified amount.

Parameters
amount:int

the region is shifted by this amount, and can be positive or negative.

Since
4.8
swapback to summary
public void swap()

Swap A and B, so the edit goes the other direction.

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@SuppressWarnings:nls
@Override
org.eclipse.jgit.diff back to summary

public final Enum Edit.Type

extends Enum<Edit.Type>
Class Inheritance

Type of edit

Field Summary

Modifier and TypeField and Description
public static final Edit.Type
DELETE

Sequence B has removed the region.

public static final Edit.Type
EMPTY

Sequence A and B have zero length, describing nothing.

public static final Edit.Type
INSERT

Sequence B has inserted the region.

public static final Edit.Type
REPLACE

Sequence B has replaced the region with different content.

Constructor Summary

AccessConstructor and Description
private
Type()

Method Summary

Modifier and TypeMethod and Description
public static Edit.Type
public static Edit.Type[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

DELETEback to summary
public static final Edit.Type DELETE

Sequence B has removed the region.

EMPTYback to summary
public static final Edit.Type EMPTY

Sequence A and B have zero length, describing nothing.

INSERTback to summary
public static final Edit.Type INSERT

Sequence B has inserted the region.

REPLACEback to summary
public static final Edit.Type REPLACE

Sequence B has replaced the region with different content.

Constructor Detail

Typeback to summary
private Type()

Method Detail

valueOfback to summary
public static Edit.Type valueOf(String name)
valuesback to summary
public static Edit.Type[] values()