public class FromStringBuilder {
/**
* Parses a string formatted with toStringBuilder
*
* @param input - ex. "Path[id=1039916,displayName=School Home,description=,...]"
* @return hashmap of name value pairs - ex. id=1039916,...
*/
public static Map stringToMap(String input) {
LinkedHashMap ret = new LinkedHashMap();
String partsString = StringUtils.substringBetween(input, "[", "]");
String[] parts = partsString.split(",");
for (String part:parts) {
String[] nv = part.split("=");
if (!StringUtils.equals("", nv[1])) {
ret.put(nv[0], nv[1]);
}
}
return ret;
}
public static T stringToObject(String input, Class clazz) throws IllegalAccessException, InvocationTargetException, InstantiationException {
Map map = stringToMap(input);
T ret = clazz.newInstance();
BeanUtils.copyProperties(ret, map);
return ret;
}
}
Also mentioned on stackoverflow
No comments:
Post a Comment