예제 #1
0
 @SuppressWarnings("unchecked")
 public static <X> X setNestedValue(BaseModel model, List<String> paths, Object value) {
   int index = paths.size() - 1;
   String path = paths.get(index);
   paths.remove(index);
   BaseModel m = getNestedValue(model, paths);
   m.set(path, value);
   return (X) m.get(path);
 }
예제 #2
0
 @SuppressWarnings("unchecked")
 public static <X> X getNestedValue(BaseModel model, List<String> paths) {
   Object obj = model.get(paths.get(0));
   if (paths.size() == 1) {
     return (X) obj;
   } else if (obj != null && obj instanceof BaseModel) {
     List<String> tmp = new ArrayList<String>(paths);
     tmp.remove(0);
     return (X) getNestedValue((BaseModel) obj, tmp);
   }
   return null;
 }