1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.jexl3.parser;
18
19 public final class ASTNumberLiteral extends JexlNode implements JexlNode.Constant<Number> {
20
21
22
23 private static final long serialVersionUID = 1L;
24
25 private final NumberParser nlp;
26
27 ASTNumberLiteral(final int id) {
28 super(id);
29 nlp = new NumberParser();
30 }
31
32 ASTNumberLiteral(final Parser p, final int id) {
33 super(p, id);
34 nlp = new NumberParser();
35 }
36
37 @Override
38 public String toString() {
39 return nlp.toString();
40 }
41
42 @Override
43 public Number getLiteral() {
44 return nlp.getLiteralValue();
45 }
46
47 @Override
48 protected boolean isConstant(final boolean literal) {
49 return true;
50 }
51
52 public Class<? extends Number> getLiteralClass() {
53 return nlp.getLiteralClass();
54 }
55
56 public boolean isInteger() {
57 return nlp.isInteger();
58 }
59
60
61
62
63
64
65 void setNatural(final String s) {
66 nlp.assignNatural(s);
67 }
68
69
70
71
72
73
74 void setReal(final String s) {
75 nlp.assignReal(s);
76 }
77
78 @Override
79 public Object jjtAccept(final ParserVisitor visitor, final Object data) {
80 return visitor.visit(this, data);
81 }
82 }