javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/KOProperty.java
branchfx
changeset 980 1ea155524be4
parent 979 83f4aa79c130
child 993 08e7b312664f
     1.1 --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/KOProperty.java	Sun Apr 14 11:52:36 2013 +0200
     1.2 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/KOProperty.java	Sun Apr 14 12:03:15 2013 +0200
     1.3 @@ -52,6 +52,26 @@
     1.4      
     1.5      public void set(Object value) throws Exception {
     1.6          LOG.log(Level.INFO, "{0} set to {1}", new Object[] { setter, value });
     1.7 -        setter.invoke(obj, value);
     1.8 +        final Class<?> rt = getter.getReturnType();
     1.9 +        
    1.10 +        try {
    1.11 +            if (rt == String.class) {
    1.12 +                setter.invoke(obj, value.toString());
    1.13 +                return;
    1.14 +            }
    1.15 +            if (rt == Integer.class || rt == int.class) {
    1.16 +                setter.invoke(obj, Integer.parseInt(value.toString()));
    1.17 +                return;
    1.18 +            }
    1.19 +            if (rt == Double.class || rt == double.class) {
    1.20 +                setter.invoke(obj, Double.parseDouble(value.toString()));
    1.21 +                return;
    1.22 +            }
    1.23 +            setter.invoke(obj, value);
    1.24 +        } catch (Throwable ex) {
    1.25 +            LOG.log(Level.SEVERE, "Can''t set " + setter, ex);
    1.26 +        }
    1.27 +        
    1.28      }
    1.29 +
    1.30  }