public ObjectWrapper getWrapper(String classname) { ObjectWrapper ret; Class type = ReflectionUtil.classForName(transfer2classname(classname)); if (type == null) return null; else { return getWrapper(type); } }
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; }
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; }