You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by jo...@apache.org on 2021/04/10 16:10:58 UTC
[sling-org-apache-sling-api] branch feature/SLING-8759 created (now
92516df)
This is an automated email from the ASF dual-hosted git repository.
joerghoh pushed a change to branch feature/SLING-8759
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-api.git.
at 92516df SLING-8759 use computeIfAbsent to reduce code size
This branch includes the following new commits:
new 92516df SLING-8759 use computeIfAbsent to reduce code size
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[sling-org-apache-sling-api] 01/01: SLING-8759 use computeIfAbsent
to reduce code size
Posted by jo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
joerghoh pushed a commit to branch feature/SLING-8759
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-api.git
commit 92516dfaaf11fac4ee9ac66fca71cceaf63d6903
Author: Joerg Hoh <jh...@adobe.com>
AuthorDate: Sat Apr 10 17:58:56 2021 +0200
SLING-8759 use computeIfAbsent to reduce code size
---
.../org/apache/sling/api/adapter/SlingAdaptable.java | 18 ++++--------------
1 file changed, 4 insertions(+), 14 deletions(-)
diff --git a/src/main/java/org/apache/sling/api/adapter/SlingAdaptable.java b/src/main/java/org/apache/sling/api/adapter/SlingAdaptable.java
index 5adf0ce..fa3c5b4 100644
--- a/src/main/java/org/apache/sling/api/adapter/SlingAdaptable.java
+++ b/src/main/java/org/apache/sling/api/adapter/SlingAdaptable.java
@@ -94,22 +94,12 @@ public abstract class SlingAdaptable implements Adaptable {
*/
@SuppressWarnings("unchecked")
public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
- AdapterType result = null;
synchronized ( this ) {
- if ( adaptersCache != null ) {
- result = (AdapterType) adaptersCache.get(type);
- }
- if ( result == null ) {
- final AdapterManager mgr = ADAPTER_MANAGER;
- result = (mgr == null ? null : mgr.getAdapter(this, type));
- if ( result != null ) {
- if ( adaptersCache == null ) {
- adaptersCache = new HashMap<Class<?>, Object>();
- }
- adaptersCache.put(type, result);
- }
+ if (adaptersCache == null) {
+ adaptersCache = new HashMap<Class<?>, Object>();
}
+ return (AdapterType) adaptersCache.computeIfAbsent(type,
+ (klazz) -> ADAPTER_MANAGER.getAdapter(this, type));
}
- return result;
}
}