You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by di...@apache.org on 2007/10/22 09:51:15 UTC
svn commit: r587023 -
/commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/Interpreter.java
Author: dion
Date: Mon Oct 22 00:51:14 2007
New Revision: 587023
URL: http://svn.apache.org/viewvc?rev=587023&view=rev
Log:
some checkstyle and code cleanup
Modified:
commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/Interpreter.java
Modified: commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/Interpreter.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/Interpreter.java?rev=587023&r1=587022&r2=587023&view=diff
==============================================================================
--- commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/Interpreter.java (original)
+++ commons/proper/jexl/branches/2.0/src/java/org/apache/commons/jexl/Interpreter.java Mon Oct 22 00:51:14 2007
@@ -29,15 +29,16 @@
import org.apache.commons.jexl.parser.ASTIntegerLiteral;
import org.apache.commons.jexl.parser.ASTNullLiteral;
import org.apache.commons.jexl.parser.ASTReference;
-import org.apache.commons.jexl.parser.ASTReferenceExpression;
-import org.apache.commons.jexl.parser.ParserTreeConstants;
import org.apache.commons.jexl.parser.SimpleNode;
import org.apache.commons.jexl.parser.VisitorAdapter;
import org.apache.commons.jexl.util.Coercion;
import org.apache.commons.jexl.util.Introspector;
import org.apache.commons.jexl.util.introspection.Uberspect;
-
+/**
+ * Starting point for an interpreter of JEXL syntax.
+ * @author Dion Gillard
+ */
class Interpreter extends VisitorAdapter {
/** The uberspect. */
@@ -46,7 +47,7 @@
/** The context to store/retrieve variables. */
private JexlContext context;
- /** the stack that holds values during expressions */
+ /** the stack that holds values during expressions. */
private Stack valueStack;
//private Resolver resolver;
@@ -59,6 +60,12 @@
setUberspect(Introspector.getUberspect());
}
+ /**
+ * Interpret the given script/expression.
+ * @param node the script or expression to interpret.
+ * @param aContext the context to interpret against.
+ * @return the result of the interpretation.
+ */
public Object interpret(SimpleNode node, JexlContext aContext) {
setContext(aContext);
valueStack = new Stack();
@@ -66,13 +73,19 @@
return node.jjtAccept(this, null);
}
- public void setUberspect(Uberspect anUberspect)
- {
+ /**
+ * sets the uberspect to use for divining bean properties etc.
+ * @param anUberspect the uberspect.
+ */
+ public void setUberspect(Uberspect anUberspect) {
uberspect = anUberspect;
}
- protected Uberspect getUberspect()
- {
+ /**
+ * Gets the uberspect.
+ * @return an {@link Uberspect}
+ */
+ protected Uberspect getUberspect() {
return uberspect;
}
@@ -81,11 +94,8 @@
}
public Object visit(ASTBitwiseAndNode node, Object data) {
- // evaluate left as long
- Object left = ((SimpleNode) node.jjtGetChild(0)).jjtAccept(this, data);
- // evaluate right as long
- Object right = ((SimpleNode) node.jjtGetChild(1)).jjtAccept(this, data);
- System.out.println("left is " + left + ", and right is " + right);
+ Object left = node.jjtGetChild(0).jjtAccept(this, data);
+ Object right = node.jjtGetChild(1).jjtAccept(this, data);
// coerce these two values longs and add.
long l = Coercion.coercelong(left);
long r = Coercion.coercelong(right);