diff options
Diffstat (limited to 'velocity-engine-core/src/main/java/org/apache/velocity/runtime/parser/node/ASTBinaryOperator.java')
-rw-r--r-- | velocity-engine-core/src/main/java/org/apache/velocity/runtime/parser/node/ASTBinaryOperator.java | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/velocity-engine-core/src/main/java/org/apache/velocity/runtime/parser/node/ASTBinaryOperator.java b/velocity-engine-core/src/main/java/org/apache/velocity/runtime/parser/node/ASTBinaryOperator.java new file mode 100644 index 00000000..8b776eaf --- /dev/null +++ b/velocity-engine-core/src/main/java/org/apache/velocity/runtime/parser/node/ASTBinaryOperator.java @@ -0,0 +1,47 @@ +package org.apache.velocity.runtime.parser.node; + +import org.apache.velocity.context.InternalContextAdapter; +import org.apache.velocity.exception.TemplateInitException; +import org.apache.velocity.runtime.parser.Parser; + +public abstract class ASTBinaryOperator extends SimpleNode +{ + public ASTBinaryOperator(int id) + { + super(id); + } + + public ASTBinaryOperator(Parser p, int id) + { + super(p, id); + } + + /** + * @throws TemplateInitException + * @see org.apache.velocity.runtime.parser.node.Node#init(org.apache.velocity.context.InternalContextAdapter, java.lang.Object) + */ + @Override + public Object init(InternalContextAdapter context, Object data) throws TemplateInitException + { + Object obj = super.init(context, data); + cleanupParserAndTokens(); // drop reference to Parser and all JavaCC Tokens + return obj; + } + + /** + * get the string representing the mathematical operator + * @return operator string + */ + public abstract String getLiteralOperator(); + + @Override + public String literal() + { + StringBuilder builder = new StringBuilder(); + builder.append(jjtGetChild(0).literal()); + builder.append(' '); + builder.append(getLiteralOperator()); + builder.append(' '); + return builder.toString(); + } +} |