diff --git a/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java b/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
index 4f48685d6..0e5c9a19f 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/TextParseUtil.java
@@ -31,8 +31,6 @@ import java.util.*;
*/
public class TextParseUtil {
- private static final int MAX_RECURSION = 1;
-
/**
* Converts all instances of ${...}, and %{...} in expression to the value returned
* by a call to {@link ValueStack#findValue(java.lang.String)}. If an item cannot
@@ -108,7 +106,7 @@ public class TextParseUtil {
* @return Converted object from variable translation.
*/
public static Object translateVariables(char open, String expression, ValueStack stack, Class asType, ParsedValueEvaluator evaluator) {
- return translateVariables(new char[]{open} , expression, stack, asType, evaluator, MAX_RECURSION);
+ return translateVariables(new char[]{open} , expression, stack, asType, evaluator, TextParser.DEFAULT_LOOP_COUNT);
}
/**
@@ -122,7 +120,7 @@ public class TextParseUtil {
* @return Converted object from variable translation.
*/
public static Object translateVariables(char[] openChars, String expression, ValueStack stack, Class asType, ParsedValueEvaluator evaluator) {
- return translateVariables(openChars, expression, stack, asType, evaluator, MAX_RECURSION);
+ return translateVariables(openChars, expression, stack, asType, evaluator, TextParser.DEFAULT_LOOP_COUNT);
}
/**
@@ -178,7 +176,7 @@ public class TextParseUtil {
* @return converted objects
*/
public static Collection translateVariablesCollection(String expression, ValueStack stack, boolean excludeEmptyElements, ParsedValueEvaluator evaluator) {
- return translateVariablesCollection(new char[]{'$', '%'}, expression, stack, excludeEmptyElements, evaluator, MAX_RECURSION);
+ return translateVariablesCollection(new char[]{'$', '%'}, expression, stack, excludeEmptyElements, evaluator, TextParser.DEFAULT_LOOP_COUNT);
}
/**
diff --git a/core/src/main/java/com/opensymphony/xwork2/util/TextParser.java b/core/src/main/java/com/opensymphony/xwork2/util/TextParser.java
index 54b18efb6..2f53bb02d 100644
--- a/core/src/main/java/com/opensymphony/xwork2/util/TextParser.java
+++ b/core/src/main/java/com/opensymphony/xwork2/util/TextParser.java
@@ -6,6 +6,8 @@ package com.opensymphony.xwork2.util;
*/
public interface TextParser {
+ int DEFAULT_LOOP_COUNT = 1;
+
Object evaluate(char[] openChars, String expression, TextParseUtil.ParsedValueEvaluator evaluator, int maxLoopCount);
}