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/12 18:13:54 UTC
[4/4] [text] [TEXT-115] Add a StrBuilder replacement based on the
StringMatcher interface: TextStringBuilder.
[TEXT-115] Add a StrBuilder replacement based on the StringMatcher
interface: TextStringBuilder.
Project: http://git-wip-us.apache.org/repos/asf/commons-text/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-text/commit/978e2896
Tree: http://git-wip-us.apache.org/repos/asf/commons-text/tree/978e2896
Diff: http://git-wip-us.apache.org/repos/asf/commons-text/diff/978e2896
Branch: refs/heads/master
Commit: 978e2896dbaeeb24eaed566972a09b0653b39f2b
Parents: 0bf361a
Author: Gary Gregory <ga...@gmail.com>
Authored: Mon Feb 12 11:13:48 2018 -0700
Committer: Gary Gregory <ga...@gmail.com>
Committed: Mon Feb 12 11:13:48 2018 -0700
----------------------------------------------------------------------
checkstyle-suppressions.xml | 6 +-
src/changes/changes.xml | 3 +-
.../org/apache/commons/text/StrBuilder.java | 2 +
.../apache/commons/text/StringSubstitutor.java | 43 +-
.../apache/commons/text/TextStringBuilder.java | 3216 ++++++++++++++++++
.../commons/text/StringSubstitutorTest.java | 93 +-
.../text/TextStringBuilderAppendInsertTest.java | 1607 +++++++++
.../commons/text/TextStringBuilderTest.java | 2147 ++++++++++++
.../LevenshteinDetailedDistanceTest.java | 4 +-
9 files changed, 7042 insertions(+), 79 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-text/blob/978e2896/checkstyle-suppressions.xml
----------------------------------------------------------------------
diff --git a/checkstyle-suppressions.xml b/checkstyle-suppressions.xml
index be52c13..d93989a 100644
--- a/checkstyle-suppressions.xml
+++ b/checkstyle-suppressions.xml
@@ -30,8 +30,8 @@
<suppress checks="MagicNumber" files="JaccardDistance.java" lines="0-99999" />
<suppress checks="MagicNumber" files="JaccardSimilarity.java" lines="0-99999" />
<suppress checks="MagicNumber" files="JaroWinklerDistance.java" lines="0-99999" />
- <suppress checks="FileLength" files="StrBuilder.java" lines="0-99999" />
<suppress checks="MagicNumber" files="StrBuilder.java" lines="0-99999" />
+ <suppress checks="MagicNumber" files="TextStringBuilder.java" lines="0-99999" />
<suppress checks="MagicNumber" files="StringEscapeUtils.java" lines="0-99999" />
<suppress checks="MagicNumber" files="StrMatcher.java" lines="0-99999" />
<suppress checks="MagicNumber" files="NumericEntityEscaper.java" lines="0-99999" />
@@ -44,7 +44,11 @@
<suppress checks="MethodName" files=".*[/\\]test[/\\].*" />
<suppress checks="Javadoc" files=".*[/\\]test[/\\].*" />
<suppress checks="FileLength" files="StrBuilderTest.java" />
+ <suppress checks="FileLength" files="StrBuilder.java" lines="0-99999" />
+ <suppress checks="FileLength" files="TextStringBuilderTest.java" />
+ <suppress checks="FileLength" files="TextStringBuilder.java" lines="0-99999" />
<suppress checks="MethodLength" files="LevenshteinDetailedDistanceTest.java" />
<suppress checks="MethodLength" files="StrBuilderAppendInsertTest.java" />
+ <suppress checks="MethodLength" files="TextStringBuilderAppendInsertTest.java" />
<suppress checks="TodoComment" files="StringEscapeUtilsTest.java" />
</suppressions>
http://git-wip-us.apache.org/repos/asf/commons-text/blob/978e2896/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 778d77a..59a17cd 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -49,7 +49,8 @@ The <action> type attribute can be add,update,fix,remove.
<action issue="TEXT-110" type="add" dev="pschumacher">Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility</action>
<action issue="TEXT-70" type="fix" dev="pschumacher">Build failure with java 9-ea+159</action>
<action issue="TEXT-113" type="add" dev="ggregory">Add an interpolator string lookup</action>
- <action issue="TEXT-114" type="add" dev="ggregory">Add a replacement for StrSubstitutor based on interfaces: StringSubstitutor</action>
+ <action issue="TEXT-114" type="add" dev="ggregory">Add a StrSubstitutor replacement based on interfaces: StringSubstitutor</action>
+ <action issue="TEXT-115" type="add" dev="ggregory">Add a StrBuilder replacement based on the StringMatcher interface: TextStringBuilder</action>
</release>
<release version="1.2" date="2017-12-12" description="Release 1.2">
http://git-wip-us.apache.org/repos/asf/commons-text/blob/978e2896/src/main/java/org/apache/commons/text/StrBuilder.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/text/StrBuilder.java b/src/main/java/org/apache/commons/text/StrBuilder.java
index 79d57c8..8fde14e 100644
--- a/src/main/java/org/apache/commons/text/StrBuilder.java
+++ b/src/main/java/org/apache/commons/text/StrBuilder.java
@@ -65,7 +65,9 @@ import java.util.Objects;
* </p>
*
* @since 1.0
+ * @deprecated Use {@link TextStringBuilder}. This class will be removed in 2.0.
*/
+@Deprecated
public class StrBuilder implements CharSequence, Appendable, Serializable, Builder<String> {
/**
http://git-wip-us.apache.org/repos/asf/commons-text/blob/978e2896/src/main/java/org/apache/commons/text/StringSubstitutor.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/text/StringSubstitutor.java b/src/main/java/org/apache/commons/text/StringSubstitutor.java
index 583cd37..30180f0 100644
--- a/src/main/java/org/apache/commons/text/StringSubstitutor.java
+++ b/src/main/java/org/apache/commons/text/StringSubstitutor.java
@@ -466,7 +466,7 @@ public class StringSubstitutor {
if (!priorVariables.contains(varName)) {
return;
}
- final StrBuilder buf = new StrBuilder(256);
+ final TextStringBuilder buf = new TextStringBuilder(256);
buf.append("Infinite loop in property interpolation of ");
buf.append(priorVariables.remove(0));
buf.append(": ");
@@ -599,7 +599,7 @@ public class StringSubstitutor {
if (source == null) {
return null;
}
- final StrBuilder buf = new StrBuilder(source.length).append(source);
+ final TextStringBuilder buf = new TextStringBuilder(source.length).append(source);
substitute(buf, 0, source.length);
return buf.toString();
}
@@ -623,7 +623,7 @@ public class StringSubstitutor {
if (source == null) {
return null;
}
- final StrBuilder buf = new StrBuilder(length).append(source, offset, length);
+ final TextStringBuilder buf = new TextStringBuilder(length).append(source, offset, length);
substitute(buf, 0, length);
return buf.toString();
}
@@ -662,7 +662,7 @@ public class StringSubstitutor {
if (source == null) {
return null;
}
- final StrBuilder buf = new StrBuilder(length).append(source, offset, length);
+ final TextStringBuilder buf = new TextStringBuilder(length).append(source, offset, length);
substitute(buf, 0, length);
return buf.toString();
}
@@ -680,7 +680,7 @@ public class StringSubstitutor {
if (source == null) {
return null;
}
- final StrBuilder buf = new StrBuilder().append(source);
+ final TextStringBuilder buf = new TextStringBuilder().append(source);
substitute(buf, 0, buf.length());
return buf.toString();
}
@@ -694,11 +694,11 @@ public class StringSubstitutor {
* the builder to use as a template, not changed, null returns null
* @return the result of the replace operation
*/
- public String replace(final StrBuilder source) {
+ public String replace(final TextStringBuilder source) {
if (source == null) {
return null;
}
- final StrBuilder buf = new StrBuilder(source.length()).append(source);
+ final TextStringBuilder buf = new TextStringBuilder(source.length()).append(source);
substitute(buf, 0, buf.length());
return buf.toString();
}
@@ -718,11 +718,11 @@ public class StringSubstitutor {
* the length within the array to be processed, must be valid
* @return the result of the replace operation
*/
- public String replace(final StrBuilder source, final int offset, final int length) {
+ public String replace(final TextStringBuilder source, final int offset, final int length) {
if (source == null) {
return null;
}
- final StrBuilder buf = new StrBuilder(length).append(source, offset, length);
+ final TextStringBuilder buf = new TextStringBuilder(length).append(source, offset, length);
substitute(buf, 0, length);
return buf.toString();
}
@@ -740,7 +740,7 @@ public class StringSubstitutor {
if (source == null) {
return null;
}
- final StrBuilder buf = new StrBuilder(source);
+ final TextStringBuilder buf = new TextStringBuilder(source);
if (!substitute(buf, 0, source.length())) {
return source;
}
@@ -766,7 +766,7 @@ public class StringSubstitutor {
if (source == null) {
return null;
}
- final StrBuilder buf = new StrBuilder(length).append(source, offset, length);
+ final TextStringBuilder buf = new TextStringBuilder(length).append(source, offset, length);
if (!substitute(buf, 0, length)) {
return source.substring(offset, offset + length);
}
@@ -786,7 +786,7 @@ public class StringSubstitutor {
if (source == null) {
return null;
}
- final StrBuilder buf = new StrBuilder(source.length()).append(source);
+ final TextStringBuilder buf = new TextStringBuilder(source.length()).append(source);
substitute(buf, 0, buf.length());
return buf.toString();
}
@@ -810,7 +810,7 @@ public class StringSubstitutor {
if (source == null) {
return null;
}
- final StrBuilder buf = new StrBuilder(length).append(source, offset, length);
+ final TextStringBuilder buf = new TextStringBuilder(length).append(source, offset, length);
substitute(buf, 0, length);
return buf.toString();
}
@@ -824,7 +824,7 @@ public class StringSubstitutor {
* the builder to replace in, updated, null returns zero
* @return true if altered
*/
- public boolean replaceIn(final StrBuilder source) {
+ public boolean replaceIn(final TextStringBuilder source) {
if (source == null) {
return false;
}
@@ -846,7 +846,7 @@ public class StringSubstitutor {
* the length within the builder to be processed, must be valid
* @return true if altered
*/
- public boolean replaceIn(final StrBuilder source, final int offset, final int length) {
+ public boolean replaceIn(final TextStringBuilder source, final int offset, final int length) {
if (source == null) {
return false;
}
@@ -888,7 +888,7 @@ public class StringSubstitutor {
if (source == null) {
return false;
}
- final StrBuilder buf = new StrBuilder(length).append(source, offset, length);
+ final TextStringBuilder buf = new TextStringBuilder(length).append(source, offset, length);
if (!substitute(buf, 0, length)) {
return false;
}
@@ -931,7 +931,7 @@ public class StringSubstitutor {
if (source == null) {
return false;
}
- final StrBuilder buf = new StrBuilder(length).append(source, offset, length);
+ final TextStringBuilder buf = new TextStringBuilder(length).append(source, offset, length);
if (!substitute(buf, 0, length)) {
return false;
}
@@ -959,7 +959,7 @@ public class StringSubstitutor {
* the end position of the variable including the suffix, valid
* @return the variable's value or <b>null</b> if the variable is unknown
*/
- protected String resolveVariable(final String variableName, final StrBuilder buf, final int startPos,
+ protected String resolveVariable(final String variableName, final TextStringBuilder buf, final int startPos,
final int endPos) {
final StringLookup resolver = getStringLookup();
if (resolver == null) {
@@ -1204,7 +1204,7 @@ public class StringSubstitutor {
* the length within the builder to be processed, must be valid
* @return true if altered
*/
- protected boolean substitute(final StrBuilder buf, final int offset, final int length) {
+ protected boolean substitute(final TextStringBuilder buf, final int offset, final int length) {
return substitute(buf, offset, length, null) > 0;
}
@@ -1223,7 +1223,8 @@ public class StringSubstitutor {
* @return the length change that occurs, unless priorVariables is null when the int represents a boolean flag as to
* whether any change occurred.
*/
- private int substitute(final StrBuilder buf, final int offset, final int length, List<String> priorVariables) {
+ private int substitute(final TextStringBuilder buf, final int offset, final int length,
+ List<String> priorVariables) {
final StringMatcher pfxMatcher = getVariablePrefixMatcher();
final StringMatcher suffMatcher = getVariableSuffixMatcher();
final char escape = getEscapeChar();
@@ -1278,7 +1279,7 @@ public class StringSubstitutor {
String varNameExpr = new String(chars, startPos + startMatchLen,
pos - startPos - startMatchLen);
if (substitutionInVariablesEnabled) {
- final StrBuilder bufName = new StrBuilder(varNameExpr);
+ final TextStringBuilder bufName = new TextStringBuilder(varNameExpr);
substitute(bufName, 0, bufName.length());
varNameExpr = bufName.toString();
}