Class MyersDiff
- java.lang.Object
-
- org.apache.wicket.util.diff.myers.MyersDiff
-
- All Implemented Interfaces:
DiffAlgorithm
public class MyersDiff extends Object implements DiffAlgorithm
A clean-room implementation of Eugene Myers differencing algorithm.See the paper at http://www.cs.arizona.edu/people/gene/PAPERS/diff.ps
- Version:
- $Revision: 1.1 $ $Date: 2006/03/12 00:24:21 $
- Author:
- Juanco Anez
- See Also:
Delta
,Revision
,Diff
-
-
Constructor Summary
Constructors Constructor Description MyersDiff()
Constructs an instance of the Myers differencing algorithm.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static PathNode
buildPath(Object[] orig, Object[] rev)
Computes the minimum diffpath that expresses de differences between the original and revised sequences, according to Gene Myers differencing algorithm.static Revision
buildRevision(PathNode path, Object[] orig, Object[] rev)
Constructs aRevision
from a difference path.Revision
diff(Object[] orig, Object[] rev)
Computes the difference between the original sequence and the revised sequence and returns it as a org.suigeneris.jrcs.diff.Revision Revision object.
-
-
-
Constructor Detail
-
MyersDiff
public MyersDiff()
Constructs an instance of the Myers differencing algorithm.
-
-
Method Detail
-
diff
public Revision diff(Object[] orig, Object[] rev) throws DifferentiationFailedException
Computes the difference between the original sequence and the revised sequence and returns it as a org.suigeneris.jrcs.diff.Revision Revision object.The revision can be used to construct the revised sequence from the original sequence.
- Specified by:
diff
in interfaceDiffAlgorithm
rev
- the revised text- Returns:
- the revision script.
- Throws:
DifferentiationFailedException
- if the diff could not be computed.
-
buildPath
public static PathNode buildPath(Object[] orig, Object[] rev) throws DifferentiationFailedException
Computes the minimum diffpath that expresses de differences between the original and revised sequences, according to Gene Myers differencing algorithm.- Parameters:
orig
- The original sequence.rev
- The revised sequence.- Returns:
- A minimum
Path
across the differences graph. - Throws:
DifferentiationFailedException
- if a diff path could not be found.
-
-