View Javadoc

1   /*
2    * $Id: DoubleConverter.java,v 1.1 2006/10/13 18:04:51 oeuillot Exp $
3    */
4   package org.rcfaces.core.converter;
5   
6   import javax.faces.component.UIComponent;
7   import javax.faces.context.FacesContext;
8   
9   /**
10   * 
11   * @author Olivier Oeuillot (latest modification by $Author: oeuillot $)
12   * @version $Revision: 1.1 $ $Date: 2006/10/13 18:04:51 $
13   */
14  public class DoubleConverter extends AbstractNumberConverter {
15      private static final String REVISION = "$Revision: 1.1 $";
16  
17      public DoubleConverter() {
18          setIntegerOnly(false);
19      }
20  
21      public Object getAsObject(FacesContext context, UIComponent component,
22              String value) {
23  
24          if (value == null || value.trim().length() < 1) {
25              Object v = getDefaultValue();
26              if (v instanceof Double) {
27                  return v;
28              }
29              if (v instanceof Number) {
30                  return new Double(((Number) v).doubleValue());
31              }
32              value = (String) v;
33          }
34  
35          Number number = (Number) super.getAsObject(context, component, value);
36  
37          if (number == null || (number instanceof Double)) {
38              return number;
39          }
40  
41          return new Double(number.doubleValue());
42      }
43  }