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