T
- The type of the compared elements in the 'lines'.public class MyersDiff<T> extends Object implements DiffAlgorithm<T>
A clean-room implementation of Eugene Myers differencing algorithm.
See the paper at http://www.cs.arizona.edu/people/gene/PAPERS/diff.ps
Constructor and Description |
---|
MyersDiff()
Constructs an instance of the Myers differencing algorithm.
|
Modifier and Type | Method and Description |
---|---|
PathNode |
buildPath(List<T> orig,
List<T> rev)
Computes the minimum diffpath that expresses de differences
between the original and revised sequences, according
to Gene Myers differencing algorithm.
|
Patch<T> |
buildRevision(PathNode path,
List<T> orig,
List<T> rev)
Constructs a
Patch from a difference path. |
Patch<T> |
diff(List<T> original,
List<T> revised)
Computes the difference between the original sequence and the revised
sequence and returns it as a
Patch object. |
public MyersDiff()
public Patch<T> diff(List<T> original, List<T> revised)
Patch
object.
Return empty diff if get the error while procession the difference.diff
in interface DiffAlgorithm<T>
original
- The original sequence. Must not be null
.revised
- The revised sequence. Must not be null
.null
.public PathNode buildPath(List<T> orig, List<T> rev)
orig
- The original sequence.rev
- The revised sequence.Path
across the differences graph.IllegalStateException
- if a diff path could not be found.Copyright © 2014–2019 AssertJ. All rights reserved.