Class DiffMatch

java.lang.Object
com.logicaldoc.comparison.basic.DiffMatch

public class DiffMatch extends Object
Class containing the diff, match and patch methods. Also contains the behaviour settings.
  • Constructor Details

    • DiffMatch

      public DiffMatch()
  • Method Details

    • diffMain

      public List<DiffMatch.Diff> diffMain(String text1, String text2)
      Find the differences between two texts. Run a faster, slightly less optimal diff. This method allows the 'checklines' of diff_main() to be optional. Most of the time checklines is wanted, so default to true.
      Parameters:
      text1 - Old string to be diffed.
      text2 - New string to be diffed.
      Returns:
      Linked List of Diff objects.
    • diffMain

      public List<DiffMatch.Diff> diffMain(String text1, String text2, boolean checklines)
      Find the differences between two texts.
      Parameters:
      text1 - Old string to be diffed.
      text2 - New string to be diffed.
      checklines - Speedup flag. If false, then don't run a line-level diff first to identify the changed areas. If true, then run a faster slightly less optimal diff.
      Returns:
      Linked List of Diff objects.
    • diffCommonPrefix

      public int diffCommonPrefix(String text1, String text2)
      Determine the common prefix of two strings
      Parameters:
      text1 - First string.
      text2 - Second string.
      Returns:
      The number of characters common to the start of each string.
    • diffCommonSuffix

      public int diffCommonSuffix(String text1, String text2)
      Determine the common suffix of two strings
      Parameters:
      text1 - First string.
      text2 - Second string.
      Returns:
      The number of characters common to the end of each string.
    • diffPrettyHtml

      public String diffPrettyHtml(List<DiffMatch.Diff> diffs)
      Convert a Diff list into a pretty HTML report.
      Parameters:
      diffs - LinkedList of Diff objects.
      Returns:
      HTML representation.
    • diffFromDelta

      Given the original text1, and an encoded string which describes the operations required to transform text1 into text2, compute the full diff.
      Parameters:
      text1 - Source string for the diff.
      delta - Delta text.
      Returns:
      Array of Diff objects or null if invalid.
      Throws:
      IllegalArgumentException - If invalid input.
      UnsupportedEncodingException - The system does not support UTF-8
    • matchMain

      public int matchMain(String text, String pattern, int loc)
      Locate the best instance of 'pattern' in 'text' near 'loc'. Returns -1 if no match found.
      Parameters:
      text - The text to search.
      pattern - The pattern to search for.
      loc - The location to search around.
      Returns:
      Best match index or -1.
    • patchMake

      public List<DiffMatch.Patch> patchMake(String text1, String text2)
      Compute a list of patches to turn text1 into text2. A set of diffs will be computed.
      Parameters:
      text1 - Old text.
      text2 - New text.
      Returns:
      LinkedList of Patch objects.
    • patchToText

      public String patchToText(List<DiffMatch.Patch> patches)
      Take a list of patches and return a textual representation.
      Parameters:
      patches - List of Patch objects.
      Returns:
      Text representation of patches.
    • patchFromText

      Parse a textual representation of patches and return a List of Patch objects.
      Parameters:
      textline - Text representation of patches.
      Returns:
      List of Patch objects.
      Throws:
      IllegalArgumentException - If invalid input.
      UnsupportedEncodingException - The system does not support UTF-8