@@ -59,6 +59,7 @@ public class JinjavaConfig {
5959 private final int maxListSize ;
6060 private final int maxMapSize ;
6161 private final int rangeLimit ;
62+ private final int maxNumEagerTokens ;
6263 private final InterpreterFactory interpreterFactory ;
6364 private TokenScannerSymbols tokenScannerSymbols ;
6465 private final ELResolver elResolver ;
@@ -111,6 +112,7 @@ private JinjavaConfig(Builder builder) {
111112 maxListSize = builder .maxListSize ;
112113 maxMapSize = builder .maxMapSize ;
113114 rangeLimit = builder .rangeLimit ;
115+ maxNumEagerTokens = builder .maxNumEagerTokens ;
114116 interpreterFactory = builder .interpreterFactory ;
115117 tokenScannerSymbols = builder .tokenScannerSymbols ;
116118 elResolver = builder .elResolver ;
@@ -150,6 +152,10 @@ public int getRangeLimit() {
150152 return rangeLimit ;
151153 }
152154
155+ public int getMaxNumEagerTokens () {
156+ return maxNumEagerTokens ;
157+ }
158+
153159 public RandomNumberGeneratorStrategy getRandomNumberGeneratorStrategy () {
154160 return randomNumberGenerator ;
155161 }
@@ -242,6 +248,7 @@ public static class Builder {
242248 private boolean validationMode = false ;
243249 private long maxStringLength = 0 ;
244250 private int rangeLimit = DEFAULT_RANGE_LIMIT ;
251+ private int maxNumEagerTokens = 1000 ;
245252 private InterpreterFactory interpreterFactory = new JinjavaInterpreterFactory ();
246253 private TokenScannerSymbols tokenScannerSymbols = new DefaultTokenScannerSymbols ();
247254 private ELResolver elResolver = JinjavaInterpreterResolver .DEFAULT_RESOLVER_READ_ONLY ;
@@ -357,6 +364,11 @@ public Builder withRangeLimit(int rangeLimit) {
357364 return this ;
358365 }
359366
367+ public Builder withMaxNumEagerTokens (int maxNumEagerTokens ) {
368+ this .maxNumEagerTokens = maxNumEagerTokens ;
369+ return this ;
370+ }
371+
360372 public Builder withInterperterFactory (InterpreterFactory interperterFactory ) {
361373 this .interpreterFactory = interperterFactory ;
362374 return this ;
0 commit comments