difflib
Class DiffUtils

java.lang.Object
  extended by difflib.DiffUtils

public class DiffUtils
extends Object

Implements the difference and patching engine

Version:
0.4.1
Author:
Dmitry Naumenko

Constructor Summary
DiffUtils()
           
 
Method Summary
static
<T> Patch<T>
diff(List<T> original, List<T> revised)
          Computes the difference between the original and revised list of elements with default diff algorithm
static
<T> Patch<T>
diff(List<T> original, List<T> revised, DiffAlgorithm<T> algorithm)
          Computes the difference between the original and revised list of elements with default diff algorithm
static
<T> Patch<T>
diff(List<T> original, List<T> revised, Equalizer<T> equalizer)
          Computes the difference between the original and revised list of elements with default diff algorithm
static List<String> generateUnifiedDiff(String original, String revised, List<String> originalLines, Patch<String> patch, int contextSize)
          generateUnifiedDiff takes a Patch and some other arguments, returning the Unified Diff format text representing the Patch.
static Patch<String> parseUnifiedDiff(List<String> diff)
          Parse the given text in unified format and creates the list of deltas for it.
static
<T> List<T>
patch(List<T> original, Patch<T> patch)
          Patch the original text with given patch
static
<T> List<T>
unpatch(List<T> revised, Patch<T> patch)
          Unpatch the revised text for a given patch
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DiffUtils

public DiffUtils()
Method Detail

diff

public static <T> Patch<T> diff(List<T> original,
                                List<T> revised)
Computes the difference between the original and revised list of elements with default diff algorithm

Parameters:
original - The original text. Must not be null.
revised - The revised text. Must not be null.
Returns:
The patch describing the difference between the original and revised sequences. Never null.

diff

public static <T> Patch<T> diff(List<T> original,
                                List<T> revised,
                                Equalizer<T> equalizer)
Computes the difference between the original and revised list of elements with default diff algorithm

Parameters:
original - The original text. Must not be null.
revised - The revised text. Must not be null.
equalizer - the equalizer object to replace the default compare algorithm (Object.equals). If null the default equalizer of the default algorithm is used..
Returns:
The patch describing the difference between the original and revised sequences. Never null.

diff

public static <T> Patch<T> diff(List<T> original,
                                List<T> revised,
                                DiffAlgorithm<T> algorithm)
Computes the difference between the original and revised list of elements with default diff algorithm

Parameters:
original - The original text. Must not be null.
revised - The revised text. Must not be null.
algorithm - The diff algorithm. Must not be null.
Returns:
The patch describing the difference between the original and revised sequences. Never null.

patch

public static <T> List<T> patch(List<T> original,
                                Patch<T> patch)
                     throws PatchFailedException
Patch the original text with given patch

Parameters:
original - the original text
patch - the given patch
Returns:
the revised text
Throws:
PatchFailedException - if can't apply patch

unpatch

public static <T> List<T> unpatch(List<T> revised,
                                  Patch<T> patch)
Unpatch the revised text for a given patch

Parameters:
revised - the revised text
patch - the given patch
Returns:
the original text

parseUnifiedDiff

public static Patch<String> parseUnifiedDiff(List<String> diff)
Parse the given text in unified format and creates the list of deltas for it.

Parameters:
diff - the text in unified format
Returns:
the patch with deltas.

generateUnifiedDiff

public static List<String> generateUnifiedDiff(String original,
                                               String revised,
                                               List<String> originalLines,
                                               Patch<String> patch,
                                               int contextSize)
generateUnifiedDiff takes a Patch and some other arguments, returning the Unified Diff format text representing the Patch.

Parameters:
original - - Filename of the original (unrevised file)
revised - - Filename of the revised file
originalLines - - Lines of the original file
patch - - Patch created by the diff() function
contextSize - - number of lines of context output around each difference in the file.
Returns:
List of strings representing the Unified Diff representation of the Patch argument.


Copyright © 2009-2013. All Rights Reserved.