Skip to content

Commit d47d9b1

Browse files
committed
Added clone
1 parent 03ac9bd commit d47d9b1

File tree

5 files changed

+22
-0
lines changed

5 files changed

+22
-0
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,4 +137,10 @@ public Map<String[], Object> toTree(){
137137
return object().toTree();
138138
}
139139

140+
public AbstractElement clone() {
141+
AbstractArray array = new AbstractArray();
142+
forEach(e -> array.add(e.clone()));
143+
return array;
144+
}
145+
140146
}

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,8 @@ default String toFormDataString() {
155155
return toFormData().toString();
156156
}
157157

158+
AbstractElement clone();
159+
158160
Map<String[], Object> toTree();
159161

160162
static AbstractElement fromJson(JsonElement element) {

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ public Map<String[], Object> toTree() {
3030
return map;
3131
}
3232

33+
public AbstractElement clone() {
34+
return this;
35+
}
36+
3337
public Type getType() {
3438
return Type.NULL;
3539
}

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,4 +124,10 @@ public Set<String> keys(){
124124
return entries.keySet();
125125
}
126126

127+
public AbstractElement clone() {
128+
AbstractObject object = new AbstractObject();
129+
forEach((k, v) -> object.set(k, v.clone()));
130+
return object;
131+
}
132+
127133
}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,4 +102,8 @@ public String toString(){
102102
return value.toString();
103103
}
104104

105+
public AbstractElement clone() {
106+
return from(value);
107+
}
108+
105109
}

0 commit comments

Comments
 (0)