java.lang.Object
org.apache.wicket.util.diff.ToString
org.apache.wicket.util.diff.Diff

public class Diff extends ToString
Implements a differencing engine that works on arrays of 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 specified, a default algorithm is used.

Version:
$Revision: 1.1 $ $Date: 2006/03/12 00:24:21 $
Author:
Juanco Anez
See Also:
  • Field Details

  • Constructor Details

    • Diff

      public Diff(Object[] original)
      Create a differencing object using the default algorithm
      Parameters:
      original - the original text that will be compared
    • Diff

      public Diff(Object[] original, DiffAlgorithm algorithm)
      Create a differencing object using the given algorithm
      Parameters:
      original - the original text that will be compared
      algorithm - the difference algorithm to use.
  • Method Details

    • defaultAlgorithm

    • diff

      public static Revision diff(Object[] orig, Object[] rev) throws DifferentiationFailedException
      compute the difference between an original and a revision.
      Parameters:
      orig - the original
      rev - the revision to compare with the original.
      Returns:
      a Revision describing the differences
      Throws:
      DifferentiationFailedException
    • diff

      public static Revision diff(Object[] orig, Object[] rev, DiffAlgorithm algorithm) throws DifferentiationFailedException
      compute the difference between an original and a revision.
      Parameters:
      orig - the original
      rev - the revision to compare with the original.
      algorithm - the difference algorithm to use
      Returns:
      a Revision describing the differences
      Throws:
      DifferentiationFailedException
    • diff

      compute the difference between the original and a revision.
      Parameters:
      rev - the revision to compare with the original.
      Returns:
      a Revision describing the differences
      Throws:
      DifferentiationFailedException
    • compare

      public static boolean compare(Object[] orig, Object[] rev)
      Compares the two input sequences.
      Parameters:
      orig - The original sequence.
      rev - The revised sequence.
      Returns:
      true if the sequences are identical. False otherwise.
    • arrayToString

      public static String arrayToString(Object[] o)
      Converts an array of Object to a string using Diff.NL as the line separator.
      Parameters:
      o - the array of objects.
      Returns:
      String
    • editAll

      public static Object[] editAll(Object[] text)
      Edits all of the items in the input sequence.
      Parameters:
      text - The input sequence.
      Returns:
      A sequence of the same length with all the lines differing from the corresponding ones in the input.
    • randomEdit

      public static Object[] randomEdit(Object[] text)
      Performs random edits on the input sequence. Useful for testing.
      Parameters:
      text - The input sequence.
      Returns:
      The sequence with random edits performed.
    • randomEdit

      public static Object[] randomEdit(Object[] text, long seed)
      Performs random edits on the input sequence. Useful for testing.
      Parameters:
      text - The input sequence.
      seed - A seed value for the randomizer.
      Returns:
      The sequence with random edits performed.
    • shuffle

      public static Object[] shuffle(Object[] text)
      Shuffles around the items in the input sequence.
      Parameters:
      text - the input sequence.
      Returns:
      The shuffled sequence.
    • shuffle

      public static Object[] shuffle(Object[] text, long seed)
      Shuffles around the items in the input sequence.
      Parameters:
      text - the input sequence.
      seed - a seed value for randomizing the generation.
      Returns:
      The shuffled sequence.
    • randomSequence

      public static Object[] randomSequence(int size)
      Generate a random sequence of the given size.
      Parameters:
      size - the size of the sequence to generate.
      Returns:
      The generated sequence.
    • randomSequence

      public static Object[] randomSequence(int size, long seed)
      Generate a random sequence of the given size.
      Parameters:
      size - the size of the sequence to generate.
      seed - a seed value for randomizing the generation.
      Returns:
      The generated sequence.