File tree Expand file tree Collapse file tree 5 files changed +54
-1
lines changed
src/main/java/org/javawebstack/abstractdata Expand file tree Collapse file tree 5 files changed +54
-1
lines changed Original file line number Diff line number Diff line change @@ -343,4 +343,20 @@ public AbstractElement clone() {
343343 return new AbstractArrayCollector<>(e -> e);
344344 }
345345
346+ public boolean equals(Object obj) {
347+ if (obj == null)
348+ return false;
349+ if (!(obj instanceof AbstractArray))
350+ return false;
351+ AbstractArray arr = (AbstractArray) obj;
352+ if (arr.size() != arr.size())
353+ return false;
354+
355+ for (int i = 0; i < size(); i++) {
356+ if (!(get(i).equals(arr.get(i))))
357+ return false;
358+ }
359+
360+ return true;
361+ }
346362}
Original file line number Diff line number Diff line change @@ -245,5 +245,4 @@ public boolean isPrimitive() {
245245 return this == NUMBER || this == BOOLEAN || this == STRING;
246246 }
247247 }
248-
249248}
Original file line number Diff line number Diff line change @@ -55,4 +55,8 @@ public AbstractElement clone() {
5555 public Type getType() {
5656 return Type.NULL;
5757 }
58+
59+ public boolean equals(Object obj) {
60+ return obj == null || obj instanceof AbstractNull;
61+ }
5862}
Original file line number Diff line number Diff line change @@ -267,4 +267,22 @@ public AbstractElement clone() {
267267 return new AbstractObjectCollector<>(keyFunction, valueFunction);
268268 }
269269
270+ public boolean equals(Object obj) {
271+ if (obj == null)
272+ return false;
273+ if (!(obj instanceof AbstractObject))
274+ return false;
275+ AbstractObject object = (AbstractObject) obj;
276+ if (size() != object.size())
277+ return false;
278+
279+ for (String key : keys()) {
280+ if (!object.has(key))
281+ return false;
282+ if (!object.get(key).equals(get(key)))
283+ return false;
284+ }
285+
286+ return true;
287+ }
270288}
Original file line number Diff line number Diff line change @@ -175,4 +175,20 @@ public AbstractElement clone() {
175175 return from(value);
176176 }
177177
178+ public boolean equals(Object obj) {
179+ if (obj == null)
180+ return false;
181+ if (!(obj instanceof AbstractPrimitive))
182+ return false;
183+
184+ AbstractPrimitive primitive = (AbstractPrimitive) obj;
185+ if (isBoolean() && primitive.isBoolean())
186+ return bool().equals(primitive.bool());
187+ if (isNumber() && primitive.isNumber())
188+ return number().equals(primitive.number());
189+ if (isString() && primitive.isString())
190+ return string().equals(primitive.string());
191+
192+ return false;
193+ }
178194}
You can’t perform that action at this time.
0 commit comments