public class Diff extends ToString
Object.
Within this library, the word text means a unit of information subject to version control.
Text is represented as Object[] because the diff engine is
capable of handling more than plain ascci. In fact, arrays of any type that
implements hashCode() and
equals() correctly can be subject to
differencing using this library.
This library provides a framework in which different differencing algorithms may be used. If no algorithm is specififed, a default algorithm is used.
Delta,
modifications: 27 Apr 2003 bwm Added some comments whilst
trying to figure out the algorithm 03 May 2003 bwm Factored out the
algorithm implementation into a separate difference algorithm class to
allow pluggable algorithms.| Modifier and Type | Field and Description |
|---|---|
protected DiffAlgorithm |
algorithm
The differencing algorithm to use.
|
static String |
NL
The standard line separator.
|
protected Object[] |
orig
The original sequence.
|
static String |
RCS_EOL
The line separator to use in RCS format output.
|
| Constructor and Description |
|---|
Diff(Object[] original)
Create a differencing object using the default algorithm
|
Diff(Object[] original,
DiffAlgorithm algorithm)
Create a differencing object using the given algorithm
|
| Modifier and Type | Method and Description |
|---|---|
static String |
arrayToString(Object[] o)
|
static boolean |
compare(Object[] orig,
Object[] rev)
Compares the two input sequences.
|
protected DiffAlgorithm |
defaultAlgorithm() |
Revision |
diff(Object[] rev)
compute the difference between the original and a revision.
|
static Revision |
diff(Object[] orig,
Object[] rev)
compute the difference between an original and a revision.
|
static Revision |
diff(Object[] orig,
Object[] rev,
DiffAlgorithm algorithm)
compute the difference between an original and a revision.
|
static Object[] |
editAll(Object[] text)
Edits all of the items in the input sequence.
|
static Object[] |
randomEdit(Object[] text)
Performs random edits on the input sequence.
|
static Object[] |
randomEdit(Object[] text,
long seed)
Performs random edits on the input sequence.
|
static Object[] |
randomSequence(int size)
Generate a random sequence of the given size.
|
static Object[] |
randomSequence(int size,
long seed)
Generate a random sequence of the given size.
|
static Object[] |
shuffle(Object[] text)
Shuffles around the items in the input sequence.
|
static Object[] |
shuffle(Object[] text,
long seed)
Shuffles around the items in the input sequence.
|
arrayToString, stringToArray, toString, toStringpublic static final String NL
public static final String RCS_EOL
protected final Object[] orig
protected DiffAlgorithm algorithm
public Diff(Object[] original)
the - original text that will be comparedpublic Diff(Object[] original, DiffAlgorithm algorithm)
o - the original text which will be compared againstalgorithm - the difference algorithm to use.protected DiffAlgorithm defaultAlgorithm()
public static Revision diff(Object[] orig, Object[] rev) throws DifferentiationFailedException
orig - the originalrev - the revision to compare with the original.DifferentiationFailedExceptionpublic static Revision diff(Object[] orig, Object[] rev, DiffAlgorithm algorithm) throws DifferentiationFailedException
orig - the originalrev - the revision to compare with the original.algorithm - the difference algorithm to useDifferentiationFailedExceptionpublic Revision diff(Object[] rev) throws DifferentiationFailedException
rev - the revision to compare with the original.DifferentiationFailedExceptionpublic static boolean compare(Object[] orig, Object[] rev)
orig - The original sequence.rev - The revised sequence.public static Object[] editAll(Object[] text)
text - The input sequence.public static Object[] randomEdit(Object[] text)
text - The input sequence.public static Object[] randomEdit(Object[] text, long seed)
text - The input sequence.seed - A seed value for the randomizer.public static Object[] shuffle(Object[] text)
text - The input sequence.public static Object[] shuffle(Object[] text, long seed)
text - The input sequence.seed - A seed value for randomizing the suffle.public static Object[] randomSequence(int size)
The - size of the sequence to generate.public static Object[] randomSequence(int size, long seed)
The - size of the sequence to generate.seed - A seed value for randomizing the generation.Copyright © 2003–2021 Sakai Project. All rights reserved.