View Javadoc

1   /*
2    * $Id: AbstractProperties.java,v 1.18 2011/06/16 09:29:41 jbmeslin Exp $
3    * 
4    */
5   package org.rcfaces.core.internal.renderkit;
6   
7   /**
8    * 
9    * @author Olivier Oeuillot (latest modification by $Author: jbmeslin $)
10   * @version $Revision: 1.18 $ $Date: 2011/06/16 09:29:41 $
11   */
12  public abstract class AbstractProperties implements IProperties {
13      private static final String REVISION = "$Revision: 1.18 $";
14  
15      /*
16       * (non-Javadoc)
17       * 
18       * @see org.rcfaces.core.internal.renderkit.IComponentData#getBoolProperty(java.lang.String,
19       *      boolean)
20       */
21      public final boolean getBoolProperty(String name, boolean defaultValue) {
22          Boolean b = getBooleanProperty(name);
23          if (b == null) {
24              return defaultValue;
25          }
26  
27          return b.booleanValue();
28      }
29  
30      /*
31       * (non-Javadoc)
32       * 
33       * @see org.rcfaces.core.internal.renderkit.IComponentData#getBooleanProperty(java.lang.String)
34       */
35      public Boolean getBooleanProperty(String name) {
36          Object s = getProperty(name);
37          if (s == null) {
38              return null;
39          }
40  
41          if (s instanceof Boolean) {
42              return (Boolean) s;
43          }
44  
45          if (s instanceof String) {
46              return Boolean.valueOf((String) s);
47          }
48  
49          return null;
50      }
51  
52      public Number getNumberProperty(String name) {
53          Object s = getProperty(name);
54          if (s == null) {
55              return null;
56          }
57  
58          if (s instanceof Number) {
59              return (Number) s;
60          }
61  
62          if (s instanceof String) {
63              String ss = (String) s;
64  
65              if (ss.indexOf('.') >= 0 || ss.indexOf('E') >= 0) {
66                  return Double.valueOf(ss);
67              }
68  
69              return Long.valueOf(ss);
70          }
71  
72          return null;
73      }
74  
75      public String getStringProperty(String name) {
76          Object s = getProperty(name);
77          if (s == null) {
78              return null;
79          }
80  
81          return String.valueOf(s);
82      }
83  
84      public String getStringProperty(String name, String defaultValue) {
85          String s = getStringProperty(name);
86          if (s == null) {
87              return defaultValue;
88          }
89  
90          return s;
91      }
92  
93      /*
94       * (non-Javadoc)
95       * 
96       * @see org.rcfaces.core.internal.renderkit.IComponentData#getIntProperty(java.lang.String,
97       *      int)
98       */
99      public int getIntProperty(String name, int defaultValue) {
100         Number i = getNumberProperty(name);
101         if (i == null) {
102             return defaultValue;
103         }
104 
105         return i.intValue();
106     }
107 
108     public abstract Object getProperty(String name);
109 }