org.owasp.webscarab.util
Class Diff

java.lang.Object
  extended by org.owasp.webscarab.util.Diff

public class Diff
extends java.lang.Object

This class calculates the edits necessary to convert a source document to a target document It does this by finding the longest common substring, then recursively checking the parts to the left and right of the LCS Firstly, the documents can be tokenized. For example, they can be separated into individual lines or words prior to being compared.

Author:
rdawes

Nested Class Summary
static class Diff.ArrayEdit
           
static class Diff.Edit
           
 
Method Summary
static java.lang.String apply(java.lang.CharSequence src, java.util.List edits)
           
static java.util.List convertArrayToOriginal(java.lang.CharSequence[] src, java.lang.CharSequence[] dst, java.util.List arrayEdits)
           
static int getDistance(java.util.List edits)
           
static java.util.List getEdits(java.lang.CharSequence[] src, java.lang.CharSequence[] dst)
           
static java.util.List getEdits(java.lang.CharSequence src, java.lang.CharSequence dst)
           
static java.util.List getEdits(java.lang.CharSequence src, java.lang.CharSequence dst, char boundary)
           
static void main(java.lang.String[] args)
           
static java.util.List refine(java.lang.CharSequence src, java.lang.CharSequence dst, java.util.List edits)
           
static java.lang.String revert(java.lang.CharSequence dst, java.util.List edits)
           
static java.lang.CharSequence[] split(java.lang.CharSequence orig, char boundary)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getEdits

public static java.util.List getEdits(java.lang.CharSequence src,
                                      java.lang.CharSequence dst)

split

public static java.lang.CharSequence[] split(java.lang.CharSequence orig,
                                             char boundary)

getEdits

public static java.util.List getEdits(java.lang.CharSequence src,
                                      java.lang.CharSequence dst,
                                      char boundary)

convertArrayToOriginal

public static java.util.List convertArrayToOriginal(java.lang.CharSequence[] src,
                                                    java.lang.CharSequence[] dst,
                                                    java.util.List arrayEdits)

getEdits

public static java.util.List getEdits(java.lang.CharSequence[] src,
                                      java.lang.CharSequence[] dst)

refine

public static java.util.List refine(java.lang.CharSequence src,
                                    java.lang.CharSequence dst,
                                    java.util.List edits)

getDistance

public static int getDistance(java.util.List edits)

apply

public static java.lang.String apply(java.lang.CharSequence src,
                                     java.util.List edits)

revert

public static java.lang.String revert(java.lang.CharSequence dst,
                                      java.util.List edits)

main

public static void main(java.lang.String[] args)