|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjdiff.DiffMyers
A class to compare vectors of objects. The result of comparison
is a list of change
objects which form an
edit script. The objects compared are traditionally lines
of text from two files. Comparison options such as "ignore
whitespace" are implemented by modifying the equals
and hashcode
methods for the objects compared.
The basic algorithm is described in: "An O(ND) Difference Algorithm and its Variations", Eugene Myers, Algorithmica Vol. 1 No. 2, 1986, p 251.
This class outputs different results from GNU diff 1.15 on some inputs. Our results are actually better (smaller change list, smaller total size of changes), but it would be nice to know why. Perhaps there is a memory overwrite bug in GNU diff 1.15.
Nested Class Summary | |
static class |
DiffMyers.change
The result of comparison is an "edit script": a chain of change objects. |
Field Summary | |
boolean |
heuristic
When set to true, the comparison uses a heuristic to speed it up. |
boolean |
no_discards
When set to true, the algorithm returns a guarranteed minimal set of changes. |
Constructor Summary | |
DiffMyers(java.lang.Object[] a,
java.lang.Object[] b)
Prepare to find differences between two arrays. |
Method Summary | |
DiffMyers.change |
diff_2(boolean reverse)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public boolean heuristic
public boolean no_discards
Constructor Detail |
public DiffMyers(java.lang.Object[] a, java.lang.Object[] b)
equals
. The original Object arrays
are no longer needed for computing the differences. They will
be needed again later to print the results of the comparison as
an edit script, if desired.
Method Detail |
public DiffMyers.change diff_2(boolean reverse)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |