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 17:22:11 UTC
[5/5] [text] [TEXT-114] Add a replacement for StrSubstitutor based on
interfaces: StringSubstitutor.
[TEXT-114] Add a replacement for StrSubstitutor based on interfaces:
StringSubstitutor.
Project: http://git-wip-us.apache.org/repos/asf/commons-text/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-text/commit/4b67dd51
Tree: http://git-wip-us.apache.org/repos/asf/commons-text/tree/4b67dd51
Diff: http://git-wip-us.apache.org/repos/asf/commons-text/diff/4b67dd51
Branch: refs/heads/master
Commit: 4b67dd516dbb23b31d4b35d3f737f31de86a1cda
Parents: 3e649a7
Author: Gary Gregory <ga...@gmail.com>
Authored: Mon Feb 12 10:22:04 2018 -0700
Committer: Gary Gregory <ga...@gmail.com>
Committed: Mon Feb 12 10:22:04 2018 -0700
----------------------------------------------------------------------
src/changes/changes.xml | 1 +
.../commons/text/ExtendedMessageFormat.java | 4 +-
.../java/org/apache/commons/text/StrLookup.java | 2 +-
.../org/apache/commons/text/StrMatcher.java | 22 +-
.../org/apache/commons/text/StrSubstitutor.java | 2663 +++++++++---------
.../apache/commons/text/StringSubstitutor.java | 1359 +++++++++
.../text/lookup/AbstractStringLookup.java | 4 -
.../commons/text/lookup/StringLookup.java | 4 -
.../commons/text/lookup/package-info.java | 2 +-
.../text/matcher/AbstractStringMatcher.java | 256 ++
.../commons/text/matcher/StringMatcher.java | 55 +
.../text/matcher/StringMatcherFactory.java | 228 ++
.../commons/text/matcher/package-info.java | 25 +
.../apache/commons/text/StrSubstitutorTest.java | 1708 ++++++-----
...titutorWithInterpolatorStringLookupTest.java | 47 -
.../commons/text/StringSubstitutorTest.java | 622 ++++
...titutorWithInterpolatorStringLookupTest.java | 49 +
.../commons/text/matcher/StringMatcherTest.java | 219 ++
.../matcher/StringSubstitutorGetSetTest.java | 119 +
19 files changed, 5058 insertions(+), 2331 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/commons-text/blob/4b67dd51/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index eedd7ac..778d77a 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -49,6 +49,7 @@ 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>
</release>
<release version="1.2" date="2017-12-12" description="Release 1.2">
http://git-wip-us.apache.org/repos/asf/commons-text/blob/4b67dd51/src/main/java/org/apache/commons/text/ExtendedMessageFormat.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/text/ExtendedMessageFormat.java b/src/main/java/org/apache/commons/text/ExtendedMessageFormat.java
index cfe1bf4..612845f 100644
--- a/src/main/java/org/apache/commons/text/ExtendedMessageFormat.java
+++ b/src/main/java/org/apache/commons/text/ExtendedMessageFormat.java
@@ -27,6 +27,8 @@ import java.util.Locale.Category;
import java.util.Map;
import java.util.Objects;
+import org.apache.commons.text.matcher.StringMatcherFactory;
+
/**
* Extends <code>java.text.MessageFormat</code> to allow pluggable/additional formatting
* options for embedded format elements. Client code should specify a registry
@@ -490,7 +492,7 @@ public class ExtendedMessageFormat extends MessageFormat {
int len = 0;
final char[] buffer = pattern.toCharArray();
do {
- len = StrMatcher.splitMatcher().isMatch(buffer, pos.getIndex());
+ len = StringMatcherFactory.INSTANCE.splitMatcher().isMatch(buffer, pos.getIndex(), 0, buffer.length);
pos.setIndex(pos.getIndex() + len);
} while (len > 0 && pos.getIndex() < pattern.length());
}
http://git-wip-us.apache.org/repos/asf/commons-text/blob/4b67dd51/src/main/java/org/apache/commons/text/StrLookup.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/text/StrLookup.java b/src/main/java/org/apache/commons/text/StrLookup.java
index 320e097..6357869 100644
--- a/src/main/java/org/apache/commons/text/StrLookup.java
+++ b/src/main/java/org/apache/commons/text/StrLookup.java
@@ -36,7 +36,7 @@ import org.apache.commons.text.lookup.StringLookupFactory;
*
* @param <V> the type of the values supported by the lookup
* @since 1.0
- * @deprecated Use {@link StringLookupFactory}.
+ * @deprecated Use {@link StringLookupFactory}. This class will be removed in 2.0.
*/
@Deprecated
public abstract class StrLookup<V> implements StringLookup {
http://git-wip-us.apache.org/repos/asf/commons-text/blob/4b67dd51/src/main/java/org/apache/commons/text/StrMatcher.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/text/StrMatcher.java b/src/main/java/org/apache/commons/text/StrMatcher.java
index 161d9a1..466eab4 100644
--- a/src/main/java/org/apache/commons/text/StrMatcher.java
+++ b/src/main/java/org/apache/commons/text/StrMatcher.java
@@ -18,6 +18,8 @@ package org.apache.commons.text;
import java.util.Arrays;
+import org.apache.commons.text.matcher.StringMatcherFactory;
+
/**
* A matcher class that can be queried to determine if a character array
* portion matches.
@@ -26,7 +28,9 @@ import java.util.Arrays;
* If these do not suffice, you can subclass and implement your own matcher.
*
* @since 1.0
+ * @deprecated Use {@link StringMatcherFactory}. This class will be removed in 2.0.
*/
+@Deprecated
public abstract class StrMatcher {
/**
@@ -223,7 +227,7 @@ public abstract class StrMatcher {
}
/**
- * Returns the number of matching characters, zero for no match.
+ * Returns the number of matching characters, or zero if there is no match.
* <p>
* This method is called to check for a match.
* The parameter <code>pos</code> represents the current position to be
@@ -245,12 +249,12 @@ public abstract class StrMatcher {
* @param pos the starting position for the match, valid for buffer
* @param bufferStart the first active index in the buffer, valid for buffer
* @param bufferEnd the end index (exclusive) of the active buffer, valid for buffer
- * @return the number of matching characters, zero for no match
+ * @return the number of matching characters, or zero if there is no match
*/
public abstract int isMatch(char[] buffer, int pos, int bufferStart, int bufferEnd);
/**
- * Returns the number of matching characters, zero for no match.
+ * Returns the number of matching characters, or zero if there is no match.
* <p>
* This method is called to check for a match.
* The parameter <code>pos</code> represents the current position to be
@@ -266,7 +270,7 @@ public abstract class StrMatcher {
*
* @param buffer the text content to match against, do not change
* @param pos the starting position for the match, valid for buffer
- * @return the number of matching characters, zero for no match
+ * @return the number of matching characters, or zero if there is no match
*/
public int isMatch(final char[] buffer, final int pos) {
return isMatch(buffer, pos, 0, buffer.length);
@@ -298,7 +302,7 @@ public abstract class StrMatcher {
* @param pos the starting position for the match, valid for buffer
* @param bufferStart the first active index in the buffer, valid for buffer
* @param bufferEnd the end index of the active buffer, valid for buffer
- * @return the number of matching characters, zero for no match
+ * @return the number of matching characters, or zero if there is no match
*/
@Override
public int isMatch(final char[] buffer, final int pos, final int bufferStart, final int bufferEnd) {
@@ -331,7 +335,7 @@ public abstract class StrMatcher {
* @param pos the starting position for the match, valid for buffer
* @param bufferStart the first active index in the buffer, valid for buffer
* @param bufferEnd the end index of the active buffer, valid for buffer
- * @return the number of matching characters, zero for no match
+ * @return the number of matching characters, or zero if there is no match
*/
@Override
public int isMatch(final char[] buffer, final int pos, final int bufferStart, final int bufferEnd) {
@@ -364,7 +368,7 @@ public abstract class StrMatcher {
* @param pos the starting position for the match, valid for buffer
* @param bufferStart the first active index in the buffer, valid for buffer
* @param bufferEnd the end index of the active buffer, valid for buffer
- * @return the number of matching characters, zero for no match
+ * @return the number of matching characters, or zero if there is no match
*/
@Override
public int isMatch(final char[] buffer, int pos, final int bufferStart, final int bufferEnd) {
@@ -407,7 +411,7 @@ public abstract class StrMatcher {
* @param pos the starting position for the match, valid for buffer
* @param bufferStart the first active index in the buffer, valid for buffer
* @param bufferEnd the end index of the active buffer, valid for buffer
- * @return the number of matching characters, zero for no match
+ * @return the number of matching characters, or zero if there is no match
*/
@Override
public int isMatch(final char[] buffer, final int pos, final int bufferStart, final int bufferEnd) {
@@ -435,7 +439,7 @@ public abstract class StrMatcher {
* @param pos the starting position for the match, valid for buffer
* @param bufferStart the first active index in the buffer, valid for buffer
* @param bufferEnd the end index of the active buffer, valid for buffer
- * @return the number of matching characters, zero for no match
+ * @return the number of matching characters, or zero if there is no match
*/
@Override
public int isMatch(final char[] buffer, final int pos, final int bufferStart, final int bufferEnd) {