01: /*
02: * JBoss, Home of Professional Open Source.
03: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
04: * as indicated by the @author tags. See the copyright.txt file in the
05: * distribution for a full listing of individual contributors.
06: *
07: * This is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU Lesser General Public License as
09: * published by the Free Software Foundation; either version 2.1 of
10: * the License, or (at your option) any later version.
11: *
12: * This software is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * Lesser General Public License for more details.
16: *
17: * You should have received a copy of the GNU Lesser General Public
18: * License along with this software; if not, write to the Free
19: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21: */
22: package org.jboss.ejb.plugins.cmp.ejbql;
23:
24: /**
25: * This abstract syntax node represents an approximate numeric literal.
26: *
27: * @author <a href="mailto:dain@daingroup.com">Dain Sundstrom</a>
28: * @version $Revision: 57209 $
29: */
30: public final class ASTApproximateNumericLiteral extends SimpleNode {
31: //private static final String UPPER_F = "UPPER_F";
32: //private static final String LOWER_F = "LOWER_F";
33: //private static final String LOWER_D = "LOWER_D";
34: //private static final String UPPER_D = "UPPER_D";
35:
36: //public double value;
37: public String literal;
38:
39: public ASTApproximateNumericLiteral(int id) {
40: super (id);
41: }
42:
43: public void setValue(String number) {
44: literal = number;
45: /*
46: // float suffix
47: if(number.endsWith(LOWER_F) || number.endsWith(UPPER_F)) {
48: // chop off the suffix
49: number = number.substring(0, number.length()-1);
50: value = Float.parseFloat(number);
51: } else {
52: // ends with a LOWER_D suffix, chop it off
53: if(number.endsWith(LOWER_D) || number.endsWith(UPPER_D)) {
54: number = number.substring(0, number.length()-1);
55: }
56:
57: // regular double
58: value = Double.parseDouble(number);
59: }
60: */
61: }
62:
63: public String toString() {
64: return literal;
65: }
66:
67: /** Accept the visitor. **/
68: public Object jjtAccept(JBossQLParserVisitor visitor, Object data) {
69: return visitor.visit(this, data);
70: }
71: }
|