You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2018/02/11 17:51:35 UTC
[text] Format nit.
Repository: commons-text
Updated Branches:
refs/heads/master 6afbdc8a4 -> 0f06a6bc7
Format nit.
Project: http://git-wip-us.apache.org/repos/asf/commons-text/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-text/commit/0f06a6bc
Tree: http://git-wip-us.apache.org/repos/asf/commons-text/tree/0f06a6bc
Diff: http://git-wip-us.apache.org/repos/asf/commons-text/diff/0f06a6bc
Branch: refs/heads/master
Commit: 0f06a6bc7ad320656f64bde81c339197cf6f58cf
Parents: 6afbdc8
Author: Gary Gregory <ga...@gmail.com>
Authored: Sun Feb 11 10:51:32 2018 -0700
Committer: Gary Gregory <ga...@gmail.com>
Committed: Sun Feb 11 10:51:32 2018 -0700
----------------------------------------------------------------------
.../commons/text/diff/ReplacementsFinder.java | 250 ++++++++++---------
1 file changed, 126 insertions(+), 124 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-text/blob/0f06a6bc/src/main/java/org/apache/commons/text/diff/ReplacementsFinder.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/text/diff/ReplacementsFinder.java b/src/main/java/org/apache/commons/text/diff/ReplacementsFinder.java
index 46f1b88..2c58ef5 100644
--- a/src/main/java/org/apache/commons/text/diff/ReplacementsFinder.java
+++ b/src/main/java/org/apache/commons/text/diff/ReplacementsFinder.java
@@ -1,124 +1,126 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-package org.apache.commons.text.diff;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This class handles sequences of replacements resulting from a comparison.
- * <p>
- * The comparison of two objects sequences leads to the identification of common
- * parts and parts which only belong to the first or to the second sequence. The
- * common parts appear in the edit script in the form of <em>keep</em> commands,
- * they can be considered as synchronization objects between the two sequences.
- * These synchronization objects split the two sequences in synchronized
- * sub-sequences. The first sequence can be transformed into the second one by
- * replacing each synchronized sub-sequence of the first sequence by the
- * corresponding sub-sequence of the second sequence. This is a synthetic way to
- * see an {@link EditScript edit script}, replacing individual
- * {@link DeleteCommand delete}, {@link KeepCommand keep} and
- * {@link InsertCommand insert} commands by fewer replacements acting on
- * complete sub-sequences.
- * </p>
- * <p>
- * This class is devoted to perform this interpretation. It visits an
- * {@link EditScript edit script} (because it implements the
- * {@link CommandVisitor CommandVisitor} interface) and calls a user-supplied
- * handler implementing the {@link ReplacementsHandler ReplacementsHandler}
- * interface to process the sub-sequences.
- * </p>
- *
- * @see ReplacementsHandler
- * @see EditScript
- * @see StringsComparator
- *
- * @param <T> object type
- * @since 1.0
- */
-public class ReplacementsFinder<T> implements CommandVisitor<T> {
-
- /**
- * List of pending insertions.
- */
- private final List<T> pendingInsertions;
- /**
- * List of pending deletions.
- */
- private final List<T> pendingDeletions;
- /**
- * Count of elements skipped.
- */
- private int skipped;
-
- /** Handler to call when synchronized sequences are found. */
- private final ReplacementsHandler<T> handler;
-
- /**
- * Simple constructor. Creates a new instance of {@link ReplacementsFinder}.
- *
- * @param handler handler to call when synchronized sequences are found
- */
- public ReplacementsFinder(final ReplacementsHandler<T> handler) {
- pendingInsertions = new ArrayList<>();
- pendingDeletions = new ArrayList<>();
- skipped = 0;
- this.handler = handler;
- }
-
- /**
- * Add an object to the pending insertions set.
- *
- * @param object object to insert
- */
- @Override
- public void visitInsertCommand(final T object) {
- pendingInsertions.add(object);
- }
-
- /**
- * Handle a synchronization object.
- * <p>
- * When a synchronization object is identified, the pending insertions and
- * pending deletions sets are provided to the user handler as subsequences.
- * </p>
- *
- * @param object synchronization object detected
- */
- @Override
- public void visitKeepCommand(final T object) {
- if (pendingDeletions.isEmpty() && pendingInsertions.isEmpty()) {
- ++skipped;
- } else {
- handler.handleReplacement(skipped, pendingDeletions, pendingInsertions);
- pendingDeletions.clear();
- pendingInsertions.clear();
- skipped = 1;
- }
- }
-
- /**
- * Add an object to the pending deletions set.
- *
- * @param object object to delete
- */
- @Override
- public void visitDeleteCommand(final T object) {
- pendingDeletions.add(object);
- }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+package org.apache.commons.text.diff;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * This class handles sequences of replacements resulting from a comparison.
+ * <p>
+ * The comparison of two objects sequences leads to the identification of common
+ * parts and parts which only belong to the first or to the second sequence. The
+ * common parts appear in the edit script in the form of <em>keep</em> commands,
+ * they can be considered as synchronization objects between the two sequences.
+ * These synchronization objects split the two sequences in synchronized
+ * sub-sequences. The first sequence can be transformed into the second one by
+ * replacing each synchronized sub-sequence of the first sequence by the
+ * corresponding sub-sequence of the second sequence. This is a synthetic way to
+ * see an {@link EditScript edit script}, replacing individual
+ * {@link DeleteCommand delete}, {@link KeepCommand keep} and
+ * {@link InsertCommand insert} commands by fewer replacements acting on
+ * complete sub-sequences.
+ * </p>
+ * <p>
+ * This class is devoted to perform this interpretation. It visits an
+ * {@link EditScript edit script} (because it implements the
+ * {@link CommandVisitor CommandVisitor} interface) and calls a user-supplied
+ * handler implementing the {@link ReplacementsHandler ReplacementsHandler}
+ * interface to process the sub-sequences.
+ * </p>
+ *
+ * @see ReplacementsHandler
+ * @see EditScript
+ * @see StringsComparator
+ *
+ * @param <T> object type
+ * @since 1.0
+ */
+public class ReplacementsFinder<T> implements CommandVisitor<T> {
+
+ /**
+ * List of pending insertions.
+ */
+ private final List<T> pendingInsertions;
+
+ /**
+ * List of pending deletions.
+ */
+ private final List<T> pendingDeletions;
+
+ /**
+ * Count of elements skipped.
+ */
+ private int skipped;
+
+ /** Handler to call when synchronized sequences are found. */
+ private final ReplacementsHandler<T> handler;
+
+ /**
+ * Simple constructor. Creates a new instance of {@link ReplacementsFinder}.
+ *
+ * @param handler handler to call when synchronized sequences are found
+ */
+ public ReplacementsFinder(final ReplacementsHandler<T> handler) {
+ pendingInsertions = new ArrayList<>();
+ pendingDeletions = new ArrayList<>();
+ skipped = 0;
+ this.handler = handler;
+ }
+
+ /**
+ * Add an object to the pending insertions set.
+ *
+ * @param object object to insert
+ */
+ @Override
+ public void visitInsertCommand(final T object) {
+ pendingInsertions.add(object);
+ }
+
+ /**
+ * Handle a synchronization object.
+ * <p>
+ * When a synchronization object is identified, the pending insertions and
+ * pending deletions sets are provided to the user handler as subsequences.
+ * </p>
+ *
+ * @param object synchronization object detected
+ */
+ @Override
+ public void visitKeepCommand(final T object) {
+ if (pendingDeletions.isEmpty() && pendingInsertions.isEmpty()) {
+ ++skipped;
+ } else {
+ handler.handleReplacement(skipped, pendingDeletions, pendingInsertions);
+ pendingDeletions.clear();
+ pendingInsertions.clear();
+ skipped = 1;
+ }
+ }
+
+ /**
+ * Add an object to the pending deletions set.
+ *
+ * @param object object to delete
+ */
+ @Override
+ public void visitDeleteCommand(final T object) {
+ pendingDeletions.add(object);
+ }
+
+}