diff
package implements
the differencing engine that JRCS uses.See: Description
Interface | Description |
---|---|
DiffAlgorithm |
A simple interface for implementations of differencing algorithms.
|
RevisionVisitor |
Definition of a Visitor interface for
Revisions See "Design Patterns" by the
Gang of Four |
Class | Description |
---|---|
AddDelta |
Holds an add-delta between to revisions of a text.
|
ChangeDelta |
Holds an change-delta between to revisions of a text.
|
Chunk |
Holds a information about a part of the text involved in a differencing or patching operation.
|
DeleteDelta |
Holds a delete-delta between to revisions of a text.
|
Delta |
Holds a "delta" difference between to revisions of a text.
|
Diff |
Implements a differencing engine that works on arrays of
Object . |
Revision |
A Revision holds the series of deltas that describe the differences between two sequences.
|
ToString |
This class delegates handling of the to a StringBuilder based version.
|
Exception | Description |
---|---|
DifferentiationFailedException |
Thrown whenever the differencing engine cannot produce the differences between two revisions of
ta text.
|
DiffException |
Base class for all exceptions emanating from this package.
|
PatchFailedException |
Thrown whenever a delta cannot be applied as a patch to a given text.
|
The diff
package implements
the differencing engine that JRCS uses. The engine has the power
of Unix diff, is simple to understand, and can be used
independently of the archive handling functionality. The entry
point to the differencing engine is class Diff
.
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.
Two implementations of the differencing algorithm are provided.
Simple Diff
is a verys imple algorithm that
is fast and works well with very large input sequences, but
that frequently produces result that are subotimal (at times
four or more times larger than GNU diff).
MyersDiff
is an implementation of Gene Myers
differencing algorithm. Myer's algorithm produces optimum
results (minimum diffs), but consumes considerably more memory
than SimpleDiff, so its not suitable for very large files.
Diff
,
Copyright © 2006–2022 Apache Software Foundation. All rights reserved.