This is an automated email from the ASF dual-hosted git repository.

radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-api.git


The following commit(s) were added to refs/heads/master by this push:
     new 9aeee4a  SLING-8737 - Add support for lazily-evaluated bindings
9aeee4a is described below

commit 9aeee4a7ab529f3fbfb15301a7dab8d206714ff5
Author: Radu Cotescu <[email protected]>
AuthorDate: Mon Nov 18 17:34:32 2019 +0100

    SLING-8737 - Add support for lazily-evaluated bindings
    
    * implemented equals and hashCode for LazyBindings, since the class
    extends HashMap, but also has its own fields
---
 .../apache/sling/api/scripting/LazyBindings.java   | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/src/main/java/org/apache/sling/api/scripting/LazyBindings.java 
b/src/main/java/org/apache/sling/api/scripting/LazyBindings.java
index 8bbe55b..3dff1a6 100644
--- a/src/main/java/org/apache/sling/api/scripting/LazyBindings.java
+++ b/src/main/java/org/apache/sling/api/scripting/LazyBindings.java
@@ -139,11 +139,6 @@ public class LazyBindings extends HashMap<String, Object> 
implements Bindings {
     }
 
     @Override
-    public boolean containsValue(Object value) {
-        return super.containsValue(value);
-    }
-
-    @Override
     public Object get(Object key) {
         String k = key.toString();
         if (!super.containsKey(k) && suppliers.containsKey(k)) {
@@ -167,6 +162,23 @@ public class LazyBindings extends HashMap<String, Object> 
implements Bindings {
     }
 
     @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (o instanceof LazyBindings && super.equals(o)) {
+            LazyBindings other = (LazyBindings) o;
+            return suppliers.equals(other.suppliers);
+        }
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return super.hashCode() + suppliers.hashCode();
+    }
+
+    @Override
     public Object getOrDefault(Object key, Object defaultValue) {
         Object result = get(key);
         if (result == null) {

Reply via email to