示例#1
0
 public ObjectWrapper getWrapper(String classname) {
   ObjectWrapper ret;
   Class type = ReflectionUtil.classForName(transfer2classname(classname));
   if (type == null) return null;
   else {
     return getWrapper(type);
   }
 }
示例#2
0
 ObjectWrapper initWrapper(String classname, Class type) {
   Object handler = handlers.get(classname);
   if (handler instanceof String) {
     try {
       return (ObjectWrapper)
           ReflectionUtil.classForName((String) handler)
               .getConstructor(new Class[] {Class.class})
               .newInstance(new Object[] {type});
     } catch (Exception e) {
       throw new YamlException("Error initializing Wrapper " + handler + " for type " + type, e);
     }
   } else if (handler instanceof WrapperFactory) {
     return ((WrapperFactory) handler).makeWrapper();
   } else return null;
 }
示例#3
0
 public ObjectWrapper getWrapperSetContent(String classname, String content) {
   SimpleObjectWrapper wrapper;
   Class type = ReflectionUtil.classForName(transfer2classname(classname));
   if (handlers != null && handlers.containsKey(classname)) {
     wrapper = (SimpleObjectWrapper) initWrapper(classname, type);
     wrapper.setObject(Utilities.convertType(content, wrapper.expectedArgType()));
   } else if (type != null && type.isEnum()) {
     wrapper = new EnumWrapper(type);
     wrapper.setObject(Utilities.convertType(content, wrapper.expectedArgType()));
   } else {
     wrapper = new DefaultSimpleTypeWrapper(type);
     wrapper.setObject(Utilities.convertType(content, wrapper.expectedArgType()));
   }
   wrapper.setYamlConfig(this);
   return wrapper;
 }