java.lang.Object
org.apache.wicket.util.diff.myers.MyersDiff
- All Implemented Interfaces:
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:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic PathNodeComputes the minimum diffpath that expresses de differences between the original and revised sequences, according to Gene Myers differencing algorithm.static RevisionbuildRevision(PathNode path, Object[] orig, Object[] rev) Constructs aRevisionfrom a difference path.Computes the difference between the original sequence and the revised sequence and returns it as a org.suigeneris.jrcs.diff.Revision Revision object.
-
Constructor Details
-
MyersDiff
public MyersDiff()Constructs an instance of the Myers differencing algorithm.
-
-
Method Details
-
diff
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:
diffin interfaceDiffAlgorithmrev- the revised text- Returns:
- the revision script.
- Throws:
DifferentiationFailedException- if the diff could not be computed.
-
buildPath
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
Pathacross the differences graph. - Throws:
DifferentiationFailedException- if a diff path could not be found.
-
buildRevision
Constructs aRevisionfrom a difference path.- Parameters:
path- The path.orig- The original sequence.rev- The revised sequence.- Returns:
- A
Revisionscript corresponding to the path.
-