diff --git a/src/main/java/com/github/difflib/algorithm/DiffAlgorithm.java b/src/main/java/com/github/difflib/algorithm/DiffAlgorithm.java deleted file mode 100644 index 463863c..0000000 --- a/src/main/java/com/github/difflib/algorithm/DiffAlgorithm.java +++ /dev/null @@ -1,55 +0,0 @@ -/*- - * #%L - * java-diff-utils - * %% - * Copyright (C) 2009 - 2017 java-diff-utils - * %% - * Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - * #L% - */ -package com.github.difflib.algorithm; - -import com.github.difflib.patch.Patch; -import java.util.*; - -/** - * The general interface for computing diffs between two lists of elements of type T. - * - * @author Dmitry Naumenko - * @author Tobias Warneke - * @param T The type of the compared elements in the 'lines'. - */ -public interface DiffAlgorithm { - - /** - * Computes the difference between the original sequence and the revised sequence and returns it as a {@link Patch} - * object. - * - * @param original The original sequence. Must not be {@code null}. - * @param revised The revised sequence. Must not be {@code null}. - * @return The patch representing the diff of the given sequences. Never {@code null}. - */ - default List diff(T[] original, T[] revised, DiffAlgorithmListener progress) throws DiffException { - return diff(Arrays.asList(original), Arrays.asList(revised), progress); - } - - /** - * Computes the difference between the original sequence and the revised sequence and returns it as a {@link Patch} - * object. - * - * @param original The original sequence. Must not be {@code null}. - * @param revised The revised sequence. Must not be {@code null}. - * @return The patch representing the diff of the given sequences. Never {@code null}. - */ - List diff(List original, List revised, DiffAlgorithmListener progress) throws DiffException; -} diff --git a/src/main/java/com/github/difflib/patch/Delta.java b/src/main/java/com/github/difflib/patch/Delta.java deleted file mode 100644 index 03bc6a6..0000000 --- a/src/main/java/com/github/difflib/patch/Delta.java +++ /dev/null @@ -1,134 +0,0 @@ -/*- - * #%L - * java-diff-utils - * %% - * Copyright (C) 2009 - 2017 java-diff-utils - * %% - * Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - * #L% - */ -package com.github.difflib.patch; - -import java.util.*; - -/** - * Describes the delta between original and revised texts. - * - * @author Dmitry Naumenko - * @author Tobias Warneke - * @param T The type of the compared elements in the 'lines'. - */ -public abstract class Delta { - - private final DeltaType deltaType; - private final Chunk original; - private final Chunk revised; - - /** - * Construct the delta for original and revised chunks - * - * @param original Chunk describing the original text. Must not be {@code null}. - * @param revised Chunk describing the revised text. Must not be {@code null}. - */ - public Delta(DeltaType deltaType, Chunk original, Chunk revised) { - Objects.requireNonNull(deltaType, "deltaType must not be null"); - Objects.requireNonNull(original, "original must not be null"); - Objects.requireNonNull(revised, "revised must not be null"); - - this.deltaType = deltaType; - this.original = original; - this.revised = revised; - } - - /** - * Verifies that this delta can be used to patch the given text. - * - * @param target the text to patch. - * @throws PatchFailedException if the patch cannot be applied. - */ - public void verify(List target) throws PatchFailedException { - getOriginal().verify(target); - } - - /** - * Applies this delta as the patch for a given target - * - * @param target the given target - * @throws PatchFailedException - */ - public abstract void applyTo(List target) throws PatchFailedException; - - /** - * Cancel this delta for a given revised text. The action is opposite to patch. - * - * @param target the given revised text - */ - public abstract void restore(List target); - - public final DeltaType getType() { - return deltaType; - } - - /** - * @return The Chunk describing the original text. - */ - public Chunk getOriginal() { - return original; - } - - /** - * @return The Chunk describing the revised text. - */ - public Chunk getRevised() { - return revised; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((original == null) ? 0 : original.hashCode()); - result = prime * result + ((revised == null) ? 0 : revised.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - Delta other = (Delta) obj; - if (original == null) { - if (other.original != null) { - return false; - } - } else if (!original.equals(other.original)) { - return false; - } - if (revised == null) { - if (other.revised != null) { - return false; - } - } else if (!revised.equals(other.revised)) { - return false; - } - return true; - } - -}