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) {