Skip to content

Commit 714b2e9

Browse files
committed
Added fill(Object) method for AbstractObject
1 parent da001c4 commit 714b2e9

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/main/java/org/javawebstack/abstractdata/AbstractObject.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.google.gson.JsonElement;
44
import com.google.gson.JsonObject;
55

6+
import java.lang.reflect.Field;
67
import java.util.HashMap;
78
import java.util.Map;
89
import java.util.Set;
@@ -109,6 +110,24 @@ public AbstractObject forEach(BiConsumer<String, AbstractElement> biConsumer){
109110
return this;
110111
}
111112

113+
public <T> T fill(Object object) {
114+
Class clazz = object.getClass();
115+
116+
for (Field field : clazz.getFields()) {
117+
if (has(field.getName())) {
118+
field.setAccessible(true);
119+
120+
try {
121+
field.set(object, get(field.getName()).toAbstractObject());
122+
} catch (IllegalAccessException e) {
123+
e.printStackTrace();
124+
}
125+
}
126+
}
127+
128+
return (T) object;
129+
}
130+
112131
public Map<String[], Object> toTree(){
113132
Map<String[], Object> tree = new HashMap<>();
114133
forEach((key, value) -> value.toTree().forEach((keys, v) -> {

0 commit comments

Comments
 (0)