View Javadoc

1   /*
2   Copyright (C) 2004 Grid Systems, S.A.
3   
4   This program is free software; you can redistribute it and/or modify
5   it under the terms of the GNU General Public License, version 2, as
6   published by the Free Software Foundation.
7   
8   This program is distributed in the hope that it will be useful,
9   but WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  GNU General Public License for more details.
12  
13  You should have received a copy of the GNU General Public License
14  along with this program; if not, write to the Free Software
15  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16  */
17  package com.gridsystems.beanfilter;
18  
19  /**
20   * Numeric value.
21   *
22   * @author Rodrigo Ruiz
23   * @version 1.0
24   */
25  public class NumValue extends EvalValue {
26    /**
27     * The value.
28     */
29    Number value = null;
30  
31    /**
32     * Creates a new instance.
33     *
34     * @param token  The token
35     * @param s    The numeric value
36     */
37    public NumValue(Token token, String s) {
38      super(token.beginLine, token.beginColumn);
39      try {
40        this.value = new Long(s);
41      } catch (Exception e) {
42        this.value = new Double(s);
43      }
44    }
45  
46    /**
47     * {@inheritDoc}
48     */
49    @Override public Object getValue(Object src) {
50      return value;
51    }
52  
53    /**
54     * {@inheritDoc}
55     */
56    @Override public String toString() {
57      return value.toString();
58    }
59  
60    /**
61     * {@inheritDoc}
62     */
63    @Override
64    public Class<?> getClassValue(Class<?> parentClass) throws EvalException {
65      return this.value.getClass();
66    }
67  }