in wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/json/WayangJsonObj.java [223:279]
BiConsumer<String, Object> insertType(Object value){
ObjectNode node = this.getNode();
if(value == null){
return (k, v) -> {
if(node.has(k)){
node.replace(k, NULL);
}else{
node.set(k, NULL);
}
};
}else if(value instanceof Integer){
return (k, v) -> node.put(k, (Integer) v);
}else if(value instanceof Long){
return (k, v) -> node.put(k, (Long) v);
}else if(value instanceof Float){
return (k, v) -> node.put(k, (Float) v);
}else if(value instanceof String){
return (k, v) -> node.put(k, (String) v);
}else if(value instanceof Double){
return (k, v) -> node.put(k, (Double) v);
}else if(value instanceof Boolean){
return (k, v) -> node.put(k, (Boolean) v);
}else if(value instanceof ObjectNode){
return (k, v) -> {
if(node.has(k)){
node.replace(k, (ObjectNode)v);
}else{
node.set(k, (ObjectNode)v);
}
};
}else if(value instanceof ArrayNode){
return (k, v) -> {
if(node.has(k)){
node.replace(k, (ArrayNode)v);
}else{
node.set(k, (ArrayNode)v);
}
};
}else if(value instanceof WayangJsonArray){
return (k, v) -> {
if(node.has(k)){
node.replace(k, ((WayangJsonArray)v).getNode());
}else{
node.set(k, ((WayangJsonArray)v).getNode());
}
};
}else if(value instanceof WayangJsonObj){
return (k, v) -> {
if(node.has(k)){
node.replace(k, ((WayangJsonObj)v).getNode());
}else{
node.set(k, ((WayangJsonObj)v).getNode());
}
};
}
throw new WayangException("The type is not recognizable "+ value.getClass());
}