public final class DiffUtils
extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
static <T> Patch<T> |
diff(java.util.List<T> original,
java.util.List<T> revised) |
static <T> Patch<T> |
diff(java.util.List<T> source,
java.util.List<T> target,
java.util.function.BiPredicate<T,T> equalizer)
Computes the difference between the original and revised list of elements
with default diff algorithm
|
static <T> Patch<T> |
diff(java.util.List<T> original,
java.util.List<T> revised,
boolean includeEqualParts) |
static <T> Patch<T> |
diff(java.util.List<T> original,
java.util.List<T> revised,
DiffAlgorithmI<T> algorithm)
Computes the difference between the original and revised list of elements
with default diff algorithm
|
static <T> Patch<T> |
diff(java.util.List<T> original,
java.util.List<T> revised,
DiffAlgorithmI<T> algorithm,
DiffAlgorithmListener progress) |
static <T> Patch<T> |
diff(java.util.List<T> original,
java.util.List<T> revised,
DiffAlgorithmI<T> algorithm,
DiffAlgorithmListener progress,
boolean includeEqualParts)
Computes the difference between the original and revised list of elements
with default diff algorithm
|
static <T> Patch<T> |
diff(java.util.List<T> original,
java.util.List<T> revised,
DiffAlgorithmListener progress)
Computes the difference between the original and revised list of elements
with default diff algorithm
|
static Patch<java.lang.String> |
diff(java.lang.String sourceText,
java.lang.String targetText)
Computes the difference between the original and revised text.
|
static Patch<java.lang.String> |
diff(java.lang.String sourceText,
java.lang.String targetText,
DiffAlgorithmListener progress)
Computes the difference between the original and revised text.
|
static Patch<java.lang.String> |
diffInline(java.lang.String original,
java.lang.String revised)
Computes the difference between the given texts inline.
|
static <T> java.util.List<T> |
patch(java.util.List<T> original,
Patch<T> patch)
Patch the original text with given patch
|
static <T> java.util.List<T> |
unpatch(java.util.List<T> revised,
Patch<T> patch)
Unpatch the revised text for a given patch
|
static void |
withDefaultDiffAlgorithmFactory(DiffAlgorithmFactory factory) |
public static void withDefaultDiffAlgorithmFactory(DiffAlgorithmFactory factory)
public static <T> Patch<T> diff(java.util.List<T> original, java.util.List<T> revised, DiffAlgorithmListener progress)
T
- types to be diffedoriginal
- The original text. Must not be null
.revised
- The revised text. Must not be null
.progress
- progress listenernull
.public static <T> Patch<T> diff(java.util.List<T> original, java.util.List<T> revised)
public static <T> Patch<T> diff(java.util.List<T> original, java.util.List<T> revised, boolean includeEqualParts)
public static Patch<java.lang.String> diff(java.lang.String sourceText, java.lang.String targetText, DiffAlgorithmListener progress)
sourceText
- targetText
- progress
- public static Patch<java.lang.String> diff(java.lang.String sourceText, java.lang.String targetText)
sourceText
- targetText
- public static <T> Patch<T> diff(java.util.List<T> source, java.util.List<T> target, java.util.function.BiPredicate<T,T> equalizer)
T
- source
- The original text. Must not be null
.target
- 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..null
.public static <T> Patch<T> diff(java.util.List<T> original, java.util.List<T> revised, DiffAlgorithmI<T> algorithm, DiffAlgorithmListener progress)
public static <T> Patch<T> diff(java.util.List<T> original, java.util.List<T> revised, DiffAlgorithmI<T> algorithm, DiffAlgorithmListener progress, boolean includeEqualParts)
T
- original
- The original text. Must not be null
.revised
- The revised text. Must not be null
.algorithm
- The diff algorithm. Must not be null
.progress
- The diff algorithm listener.includeEqualParts
- Include equal data parts into the patch.null
.public static <T> Patch<T> diff(java.util.List<T> original, java.util.List<T> revised, DiffAlgorithmI<T> algorithm)
original
- The original text. Must not be null
.revised
- The revised text. Must not be null
.algorithm
- The diff algorithm. Must not be null
.null
.public static Patch<java.lang.String> diffInline(java.lang.String original, java.lang.String revised)
original
- revised
- public static <T> java.util.List<T> patch(java.util.List<T> original, Patch<T> patch) throws PatchFailedException
original
- the original textpatch
- the given patchPatchFailedException
- if can't apply patchpublic static <T> java.util.List<T> unpatch(java.util.List<T> revised, Patch<T> patch)
revised
- the revised textpatch
- the given patch