diff options
author | Claude Brisson <cbrisson@apache.org> | 2019-06-17 14:11:18 +0000 |
---|---|---|
committer | Claude Brisson <cbrisson@apache.org> | 2019-06-17 14:11:18 +0000 |
commit | b7f22362689dcab748d6c81b2a49b15a12d195c3 (patch) | |
tree | fe2338727c48ea900e703f6d9aa62a8b7072bcc1 /velocity-engine-core/src/main/java/org/apache/velocity/runtime/RuntimeInstance.java | |
parent | c28c7d713456dc9c8c446141fba0f52144009912 (diff) | |
download | apache-velocity-engine-b7f22362689dcab748d6c81b2a49b15a12d195c3.tar.gz |
[engine][VELOCITY-917] RuntimeServices shouldn't directly expose configured parser chars
git-svn-id: https://svn.apache.org/repos/asf/velocity/engine/branches/parser_experiments@1861511 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'velocity-engine-core/src/main/java/org/apache/velocity/runtime/RuntimeInstance.java')
-rw-r--r-- | velocity-engine-core/src/main/java/org/apache/velocity/runtime/RuntimeInstance.java | 62 |
1 files changed, 11 insertions, 51 deletions
diff --git a/velocity-engine-core/src/main/java/org/apache/velocity/runtime/RuntimeInstance.java b/velocity-engine-core/src/main/java/org/apache/velocity/runtime/RuntimeInstance.java index b3e0923e..6971fbbb 100644 --- a/velocity-engine-core/src/main/java/org/apache/velocity/runtime/RuntimeInstance.java +++ b/velocity-engine-core/src/main/java/org/apache/velocity/runtime/RuntimeInstance.java @@ -40,7 +40,6 @@ import org.apache.velocity.runtime.directive.StopCommand; import org.apache.velocity.runtime.parser.LogContext; import org.apache.velocity.runtime.parser.ParseException; import org.apache.velocity.runtime.parser.Parser; -import org.apache.velocity.runtime.parser.StandardParser; import org.apache.velocity.runtime.parser.node.Node; import org.apache.velocity.runtime.parser.node.SimpleNode; import org.apache.velocity.runtime.resource.ContentResource; @@ -236,29 +235,10 @@ public class RuntimeInstance implements RuntimeConstants, RuntimeServices private Constructor parserConstructor; /** - * Configured '$' character + * Configured replacement characters in parser grammar * @since 2.2 */ - private char dollar = '$'; - - /** - * Configured '#' character - * @since 2.2 - */ - private char hash = '$'; - - /** - * Configured '@' character - * @since 2.2 - */ - private char at = '@'; - - /** - * Configured '*' character - * @since 2.2 - */ - private char asterisk = '*'; - + private ParserConfiguration parserConfiguration; /** * Creates a new RuntimeInstance object. @@ -355,10 +335,7 @@ public class RuntimeInstance implements RuntimeConstants, RuntimeServices this.runtimeDirectivesShared = null; this.uberSpect = null; this.stringInterning = false; - this.dollar = '$'; - this.hash = '#'; - this.at = '@'; - this.asterisk = '*'; + this.parserConfiguration = new ParserConfiguration(); /* * create a VM factory, introspector, and application attributes @@ -1271,10 +1248,11 @@ public class RuntimeInstance implements RuntimeConstants, RuntimeServices * test parser creation and use generated parser to fill up customized characters */ Parser parser = parserPool.get(); - dollar = parser.dollar(); - hash = parser.hash(); - at = parser.at(); - asterisk = parser.asterisk(); + parserConfiguration = new ParserConfiguration(); + parserConfiguration.setDollarChar(parser.dollar()); + parserConfiguration.setHashChar(parser.hash()); + parserConfiguration.setAtChar(parser.at()); + parserConfiguration.setAsteriskChar(parser.asterisk()); parserPool.put(parser); } else @@ -1622,7 +1600,7 @@ public class RuntimeInstance implements RuntimeConstants, RuntimeServices } /* now just create the VM call, and use evaluate */ - StringBuilder template = new StringBuilder(String.valueOf(hash)); + StringBuilder template = new StringBuilder(String.valueOf(parserConfiguration.getHashChar())); template.append(vmName); template.append("("); for (String param : params) @@ -1998,26 +1976,8 @@ public class RuntimeInstance implements RuntimeConstants, RuntimeServices } @Override - public char dollar() - { - return dollar; - } - - @Override - public char hash() - { - return hash; - } - - @Override - public char at() - { - return at; - } - - @Override - public char asterisk() + public ParserConfiguration getParserConfiguration() { - return asterisk; + return parserConfiguration; } } |