View Javadoc

1   /*
2    * The SmartWeb Framework
3    * Copyright (C) 2004-2006
4    *
5    * This library is free software; you can redistribute it and/or
6    * modify it under the terms of the GNU Lesser General Public
7    * License as published by the Free Software Foundation; either
8    * version 2.1 of the License, or (at your option) any later version.
9    *
10   * This library is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13   * Lesser General Public License for more details.
14   *
15   * You should have received a copy of the GNU Lesser General Public
16   * License along with this library; if not, write to the Free Software
17   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
18   *
19   * For further informations on the SmartWeb Framework please visit
20   *
21   *                        http://smartweb.sourceforge.net
22   */
23   
24  package net.smartlab.web.bean;
25  
26  import java.math.BigInteger;
27  import java.util.Locale;
28  
29  /**
30   * TODO documentation
31   * 
32   * @author rlogiacco
33   */
34  public class BigIntegerConverter extends NumberConverter {
35  
36  	/**
37  	 * TODO documentation
38  	 */
39  	public BigIntegerConverter() {
40  		super();
41  	}
42  
43  	/**
44  	 * TODO documentation
45  	 * 
46  	 * @param value
47  	 */
48  	public BigIntegerConverter(long value) {
49  		super(value);
50  	}
51  	
52  	/**
53  	 * @see net.smartlab.web.bean.Converter#convert(java.lang.Class,
54  	 *      java.lang.Object, java.util.Locale)
55  	 */
56  	public Object convert(Class type, Object value, Locale locale) throws ConversionException {
57  		if (type.equals(BigInteger.class)) {
58  			try {
59  				return new BigInteger(value.toString());
60  			} catch (NumberFormatException nfe) {
61  				if (super.hasDefault()) {
62  					return new BigInteger(Long.toString((long)this.getDefault()));
63  				}
64  				throw new ConversionException(nfe);
65  			}
66  		} else {
67  			return value.toString();
68  		}
69  	}
70  
71  }