1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.commons.jexl.parser;
17
18 import org.apache.commons.jexl.JexlContext;
19
20 /***
21 * represents an integer
22 *
23 * @author <a href="mailto:geirm@apache.org">Geir Magnusson Jr.</a>
24 * @version $Id: ASTIntegerLiteral.java,v 1.4 2004/02/28 13:45:20 yoavs Exp $
25 */
26 public class ASTIntegerLiteral extends SimpleNode
27 {
28 Integer val;
29
30 public ASTIntegerLiteral(int id)
31 {
32 super(id);
33 }
34
35 public ASTIntegerLiteral(Parser p, int id)
36 {
37 super(p, id);
38 }
39
40
41 /*** Accept the visitor. **/
42 public Object jjtAccept(ParserVisitor visitor, Object data)
43 {
44 return visitor.visit(this, data);
45 }
46
47 /***
48 * Part of reference resolution - wierd... in JSTL EL you can
49 * have
50 * foo.2
51 * which is equiv to
52 * foo[2]
53 * it appears...
54 */
55 public Object execute(Object o, JexlContext ctx)
56 throws Exception
57 {
58 return ASTArrayAccess.evaluateExpr(o, val);
59 }
60
61 public Object value(JexlContext jc)
62 throws Exception
63 {
64 return val;
65 }
66 }