protected static boolean isBeanParameters(Class<?> cls){ if(Iterable.class.isAssignableFrom(cls)){ return false; } if(Map.class.isAssignableFrom(cls)){ return false; } if(Beans.isSimpleProperty(cls)){ return false; } if(cls.equals(Object.class)){ return false; } return true; }
@SuppressWarnings({ "unchecked", "rawtypes" }) public Map<String, Object> toMap(Object object) throws InvalidParametersException { if(null == object){ throw new InvalidParameterException("Cannot convert null to map"); } if(object instanceof Map){ return ((Map)object); }else if(object instanceof Params){ return ((Params)object).map(); } if(Beans.isSimpleProperty(object.getClass())){ throw new InvalidParameterException("Cannot convert value of simple type '" + object.getClass().getName() + "' to map"); } return Beans.toMap(object); }
private List<KV> flat(){ List<KV> flat = new ArrayList<>(); list.forEach(kv -> { String key = kv.key; Object value = kv.value; if(value == null || Beans.isSimpleProperty(value.getClass())){ flat.add(new KV(key,value)); }else { JsonObject json = JsonObject.of(JSON.decodeMap(JSON.encode(value))); addFlatList(key,json,flat); } }); return flat; }
private void addFlatList(String key, JsonObject json, List<KV> flat){ json.forEachProperty((s,o) ->{ if(null == o){ flat.add(new KV(key+"."+s,null)); return; } if(Beans.isSimpleProperty(o.getClass())){ flat.add(new KV(key+"."+s,o)); return; } if(o.getClass().isArray()){ Object[] arrays = (Object[])o; for (int i = 0; i < arrays.length; i ++){ addFlatList(key+"." + s + "["+i+"]",json.getObject(s),flat); } return; } if(o instanceof List){ List arrays = (List) o; for (int i = 0; i < arrays.size(); i ++){ addFlatList(key+"." + s + "["+i+"]",json.getObject(s),flat); } return; } addFlatList(key+"."+s,json.getObject(s),flat); }); } }
if(Beans.isSimpleProperty(beanType)){ return null; if(Beans.isSimpleProperty(beanType)){ return null;