This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-text.git

commit 4f366ec330cb4d48cc8b0433ce3ba57d11569c2a
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Tue Dec 10 06:16:37 2024 -0500

    Reduce nesting
    
    Remove unnecessary keyword
---
 .../org/apache/commons/text/StrSubstitutor.java    | 238 ++++++++++-----------
 1 file changed, 118 insertions(+), 120 deletions(-)

diff --git a/src/main/java/org/apache/commons/text/StrSubstitutor.java 
b/src/main/java/org/apache/commons/text/StrSubstitutor.java
index 721d6745..085751dc 100644
--- a/src/main/java/org/apache/commons/text/StrSubstitutor.java
+++ b/src/main/java/org/apache/commons/text/StrSubstitutor.java
@@ -329,11 +329,11 @@ public class StrSubstitutor {
      */
     public StrSubstitutor(final StrLookup<?> variableResolver, final String 
prefix, final String suffix,
                           final char escape) {
-        this.setVariableResolver(variableResolver);
-        this.setVariablePrefix(prefix);
-        this.setVariableSuffix(suffix);
-        this.setEscapeChar(escape);
-        this.setValueDelimiterMatcher(DEFAULT_VALUE_DELIMITER);
+        setVariableResolver(variableResolver);
+        setVariablePrefix(prefix);
+        setVariableSuffix(suffix);
+        setEscapeChar(escape);
+        setValueDelimiterMatcher(DEFAULT_VALUE_DELIMITER);
     }
 
     /**
@@ -348,11 +348,11 @@ public class StrSubstitutor {
      */
     public StrSubstitutor(final StrLookup<?> variableResolver, final String 
prefix, final String suffix,
                           final char escape, final String valueDelimiter) {
-        this.setVariableResolver(variableResolver);
-        this.setVariablePrefix(prefix);
-        this.setVariableSuffix(suffix);
-        this.setEscapeChar(escape);
-        this.setValueDelimiter(valueDelimiter);
+        setVariableResolver(variableResolver);
+        setVariablePrefix(prefix);
+        setVariableSuffix(suffix);
+        setEscapeChar(escape);
+        setValueDelimiter(valueDelimiter);
     }
 
     /**
@@ -383,11 +383,11 @@ public class StrSubstitutor {
     public StrSubstitutor(
             final StrLookup<?> variableResolver, final StrMatcher 
prefixMatcher, final StrMatcher suffixMatcher,
             final char escape, final StrMatcher valueDelimiterMatcher) {
-        this.setVariableResolver(variableResolver);
-        this.setVariablePrefixMatcher(prefixMatcher);
-        this.setVariableSuffixMatcher(suffixMatcher);
-        this.setEscapeChar(escape);
-        this.setValueDelimiterMatcher(valueDelimiterMatcher);
+        setVariableResolver(variableResolver);
+        setVariablePrefixMatcher(prefixMatcher);
+        setVariableSuffixMatcher(suffixMatcher);
+        setEscapeChar(escape);
+        setValueDelimiterMatcher(valueDelimiterMatcher);
     }
 
     /**
@@ -1142,123 +1142,121 @@ public class StrSubstitutor {
                     bufEnd);
             if (startMatchLen == 0) {
                 pos++;
+            } else // found variable start marker
+            if (pos > offset && chars[pos - 1] == escape) {
+                // escaped
+                if (preserveEscapes) {
+                    pos++;
+                    continue;
+                }
+                buf.deleteCharAt(pos - 1);
+                chars = buf.buffer; // in case buffer was altered
+                lengthChange--;
+                altered = true;
+                bufEnd--;
             } else {
-                // found variable start marker
-                if (pos > offset && chars[pos - 1] == escape) {
-                    // escaped
-                    if (preserveEscapes) {
-                        pos++;
+                // find suffix
+                final int startPos = pos;
+                pos += startMatchLen;
+                int endMatchLen = 0;
+                int nestedVarCount = 0;
+                while (pos < bufEnd) {
+                    if (substitutionInVariablesEnabled
+                            && pfxMatcher.isMatch(chars,
+                                    pos, offset, bufEnd) != 0) {
+                        // found a nested variable start
+                        endMatchLen = pfxMatcher.isMatch(chars,
+                                pos, offset, bufEnd);
+                        nestedVarCount++;
+                        pos += endMatchLen;
                         continue;
                     }
-                    buf.deleteCharAt(pos - 1);
-                    chars = buf.buffer; // in case buffer was altered
-                    lengthChange--;
-                    altered = true;
-                    bufEnd--;
-                } else {
-                    // find suffix
-                    final int startPos = pos;
-                    pos += startMatchLen;
-                    int endMatchLen = 0;
-                    int nestedVarCount = 0;
-                    while (pos < bufEnd) {
-                        if (substitutionInVariablesEnabled
-                                && pfxMatcher.isMatch(chars,
-                                        pos, offset, bufEnd) != 0) {
-                            // found a nested variable start
-                            endMatchLen = pfxMatcher.isMatch(chars,
-                                    pos, offset, bufEnd);
-                            nestedVarCount++;
-                            pos += endMatchLen;
-                            continue;
-                        }
 
-                        endMatchLen = suffMatcher.isMatch(chars, pos, offset,
-                                bufEnd);
-                        if (endMatchLen == 0) {
-                            pos++;
-                        } else {
-                            // found variable end marker
-                            if (nestedVarCount == 0) {
-                                String varNameExpr = new String(chars, startPos
-                                        + startMatchLen, pos - startPos
-                                        - startMatchLen);
-                                if (substitutionInVariablesEnabled) {
-                                    final StrBuilder bufName = new 
StrBuilder(varNameExpr);
-                                    substitute(bufName, 0, bufName.length());
-                                    varNameExpr = bufName.toString();
-                                }
-                                pos += endMatchLen;
-                                final int endPos = pos;
-
-                                String varName = varNameExpr;
-                                String varDefaultValue = null;
-
-                                if (valueDelimMatcher != null) {
-                                    final char[] varNameExprChars = 
varNameExpr.toCharArray();
-                                    int valueDelimiterMatchLen = 0;
-                                    for (int i = 0; i < 
varNameExprChars.length; i++) {
-                                        // if there's any nested variable when 
nested variable substitution disabled,
-                                        // then stop resolving name and 
default value.
-                                        if (!substitutionInVariablesEnabled
-                                                && 
pfxMatcher.isMatch(varNameExprChars,
-                                                                        i,
-                                                                        i,
-                                                                        
varNameExprChars.length) != 0) {
-                                            break;
-                                        }
-                                        if 
(valueDelimMatcher.isMatch(varNameExprChars, i) != 0) {
-                                            valueDelimiterMatchLen = 
valueDelimMatcher.isMatch(varNameExprChars, i);
-                                            varName = varNameExpr.substring(0, 
i);
-                                            varDefaultValue = 
varNameExpr.substring(i + valueDelimiterMatchLen);
-                                            break;
-                                        }
+                    endMatchLen = suffMatcher.isMatch(chars, pos, offset,
+                            bufEnd);
+                    if (endMatchLen == 0) {
+                        pos++;
+                    } else {
+                        // found variable end marker
+                        if (nestedVarCount == 0) {
+                            String varNameExpr = new String(chars, startPos
+                                    + startMatchLen, pos - startPos
+                                    - startMatchLen);
+                            if (substitutionInVariablesEnabled) {
+                                final StrBuilder bufName = new 
StrBuilder(varNameExpr);
+                                substitute(bufName, 0, bufName.length());
+                                varNameExpr = bufName.toString();
+                            }
+                            pos += endMatchLen;
+                            final int endPos = pos;
+
+                            String varName = varNameExpr;
+                            String varDefaultValue = null;
+
+                            if (valueDelimMatcher != null) {
+                                final char[] varNameExprChars = 
varNameExpr.toCharArray();
+                                int valueDelimiterMatchLen = 0;
+                                for (int i = 0; i < varNameExprChars.length; 
i++) {
+                                    // if there's any nested variable when 
nested variable substitution disabled,
+                                    // then stop resolving name and default 
value.
+                                    if (!substitutionInVariablesEnabled
+                                            && 
pfxMatcher.isMatch(varNameExprChars,
+                                                                    i,
+                                                                    i,
+                                                                    
varNameExprChars.length) != 0) {
+                                        break;
+                                    }
+                                    if 
(valueDelimMatcher.isMatch(varNameExprChars, i) != 0) {
+                                        valueDelimiterMatchLen = 
valueDelimMatcher.isMatch(varNameExprChars, i);
+                                        varName = varNameExpr.substring(0, i);
+                                        varDefaultValue = 
varNameExpr.substring(i + valueDelimiterMatchLen);
+                                        break;
                                     }
                                 }
+                            }
 
-                                // on the first call initialize priorVariables
-                                if (priorVariables == null) {
-                                    priorVariables = new ArrayList<>();
-                                    priorVariables.add(new String(chars,
-                                            offset, length));
-                                }
+                            // on the first call initialize priorVariables
+                            if (priorVariables == null) {
+                                priorVariables = new ArrayList<>();
+                                priorVariables.add(new String(chars,
+                                        offset, length));
+                            }
 
-                                // handle cyclic substitution
-                                checkCyclicSubstitution(varName, 
priorVariables);
-                                priorVariables.add(varName);
+                            // handle cyclic substitution
+                            checkCyclicSubstitution(varName, priorVariables);
+                            priorVariables.add(varName);
 
-                                // resolve the variable
-                                String varValue = resolveVariable(varName, buf,
-                                        startPos, endPos);
-                                if (varValue == null) {
-                                    varValue = varDefaultValue;
-                                }
-                                if (varValue != null) {
-                                    final int varLen = varValue.length();
-                                    buf.replace(startPos, endPos, varValue);
-                                    altered = true;
-                                    int change = 0;
-                                    if (!substitutionInValuesDisabled) { // 
recursive replace
-                                        change = substitute(buf, startPos,
-                                            varLen, priorVariables);
-                                    }
-                                    change = change
-                                        + varLen - (endPos - startPos);
-                                    pos += change;
-                                    bufEnd += change;
-                                    lengthChange += change;
-                                    chars = buf.buffer; // in case buffer was
-                                                        // altered
+                            // resolve the variable
+                            String varValue = resolveVariable(varName, buf,
+                                    startPos, endPos);
+                            if (varValue == null) {
+                                varValue = varDefaultValue;
+                            }
+                            if (varValue != null) {
+                                final int varLen = varValue.length();
+                                buf.replace(startPos, endPos, varValue);
+                                altered = true;
+                                int change = 0;
+                                if (!substitutionInValuesDisabled) { // 
recursive replace
+                                    change = substitute(buf, startPos,
+                                        varLen, priorVariables);
                                 }
-
-                                // remove variable from the cyclic stack
-                                priorVariables
-                                        .remove(priorVariables.size() - 1);
-                                break;
+                                change = change
+                                    + varLen - (endPos - startPos);
+                                pos += change;
+                                bufEnd += change;
+                                lengthChange += change;
+                                chars = buf.buffer; // in case buffer was
+                                                    // altered
                             }
-                            nestedVarCount--;
-                            pos += endMatchLen;
+
+                            // remove variable from the cyclic stack
+                            priorVariables
+                                    .remove(priorVariables.size() - 1);
+                            break;
                         }
+                        nestedVarCount--;
+                        pos += endMatchLen;
                     }
                 }
             }

Reply via email to