public final static void setObjectField()

in src/org/doublecloud/ws/util/ReflectUtil.java [80:151]


  public final static void setObjectField(Object object, Field field, String type, String value) throws IllegalArgumentException, IllegalAccessException 
  {
    if("String".equals(type) || "string".equals(type))
    {
      field.set(object, value);
    }
    else if("int".equals(type))
    {
      field.set(object, Integer.parseInt(value));
    }
    else if("Integer".equals(type))
    {
      field.set(object, new Integer(value));
    }
    else if("short".equals(type))
    {
      field.set(object, Short.parseShort(value));
    }
    else if("Short".equals(type))
    {
      field.set(object, new Short(value));
    }
    else if("byte".equals(type))
    {
      field.set(object, Byte.parseByte(value));
    }
    else if("Byte".equals(type))
    {
      field.set(object, new Byte(value));
    }
    else if("long".equals(type))
    {
      field.set(object, Long.parseLong(value));
    }
    else if("Long".equals(type))
    {
      field.set(object, new Long(value));
    }
    else if("float".equals(type))
    {
      field.set(object, Float.parseFloat(value));
    }
    else if("Float".equals(type))
    {
      field.set(object, new Float(value));
    }
    else if("boolean".equals(type))
    {
      field.set(object, Boolean.parseBoolean(value));
    }
    else if("Boolean".equals(type))
    {
      field.set(object, new Boolean(value));
    }
    else if("Calendar".equals(type) || "dateTime".equals(type))
    {
      Calendar cal = DatatypeConverter.parseTime(value);
      field.set(object, cal);
    }
    else if("double".equals(type))
    {
      field.set(object, Double.parseDouble(value));
    }
    else if("Double".equals(type))
    {
      field.set(object, new Double(value));
    }
    else
    {
      throw new RuntimeException("Unexpected Type at setObjectField: " + field.getType().getCanonicalName() + field.getName());
    }
  }