1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.jexl.parser;
18
19 import org.apache.commons.jexl.JexlContext;
20
21 /***
22 * Top of the syntax tree - parsed Jexl code.
23 *
24 * @since 1.1
25 */
26 public class ASTJexlScript extends SimpleNode {
27 /***
28 * Create the node given an id.
29 *
30 * @param id node id.
31 */
32 public ASTJexlScript(int id) {
33 super(id);
34 }
35
36 /***
37 * Create a node with the given parser and id.
38 *
39 * @param p a parser.
40 * @param id node id.
41 */
42 public ASTJexlScript(Parser p, int id) {
43 super(p, id);
44 }
45
46 /*** {@inheritDoc} */
47 public Object jjtAccept(ParserVisitor visitor, Object data) {
48 return visitor.visit(this, data);
49 }
50
51 /*** {@inheritDoc} */
52 public Object value(JexlContext jc) throws Exception {
53 int numChildren = jjtGetNumChildren();
54 Object result = null;
55 for (int i = 0; i < numChildren; i++) {
56 SimpleNode child = (SimpleNode) jjtGetChild(i);
57 result = child.value(jc);
58 }
59 return result;
60 }
61 }