예제 #1
0
 /**
  * 将setting中的键值关系映射到对象中,原理是调用对象对应的set方法<br>
  * 只支持基本类型的转换
  *
  * @param object 被调用的对象
  * @throws SettingException
  */
 public void toObject(String group, Object object) throws SettingException {
   try {
     Method[] methods = object.getClass().getMethods();
     for (Method method : methods) {
       String methodName = method.getName();
       if (methodName.startsWith("set")) {
         String field = StrUtil.getGeneralField(methodName);
         Object value = get(field, group);
         if (value != null) {
           Class<?>[] parameterTypes = method.getParameterTypes();
           if (parameterTypes.length != 1) {
             continue;
           }
           Object castedValue = Conver.parse(parameterTypes[0], value);
           method.invoke(object, castedValue);
           log.debug("Parse setting to object field [{}={}]", field, value);
         }
       }
     }
   } catch (Exception e) {
     throw new SettingException("Parse setting to object error!", e);
   }
 }
예제 #2
0
 /**
  * 获取double类型属性值
  *
  * @param key 属性名
  * @param group 分组名
  * @param defaultValue 默认值
  * @return 属性值
  */
 public Double getDouble(String key, String group, Double defaultValue) {
   return Conver.toDouble(get(key, group), defaultValue);
 }
예제 #3
0
 /**
  * 获取波尔型型属性值
  *
  * @param key 属性名
  * @param group 分组名
  * @param defaultValue 默认值
  * @return 属性值
  */
 public Boolean getBool(String key, String group, Boolean defaultValue) {
   return Conver.toBool(get(key, group), defaultValue);
 }
예제 #4
0
 /**
  * 获取long类型属性值
  *
  * @param key 属性名
  * @param group 分组名
  * @param defaultValue 默认值
  * @return 属性值
  */
 public Long getLong(String key, String group, Long defaultValue) {
   return Conver.toLong(get(key, group), defaultValue);
 }
예제 #5
0
 /**
  * 获取数字型型属性值
  *
  * @param key 属性名
  * @param group 分组名
  * @param defaultValue 默认值
  * @return 属性值
  */
 public Integer getInt(String key, String group, Integer defaultValue) {
   return Conver.toInt(get(key, group), defaultValue);
 }