From 92b161251d301364b44fcccce8b86eb6aa772a9d Mon Sep 17 00:00:00 2001 From: Oliver Gierke Date: Thu, 30 Oct 2014 10:43:13 +0100 Subject: [PATCH] DATACOUCH-113 - CouchbaseCache now implements Spring 4.1's Cache interface. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added putIfAbsent(…) to make sure CouchbaseCache can be used in a Spring 4.1 environment. --- .../data/couchbase/cache/CouchbaseCache.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCache.java b/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCache.java index 17fe3f0c..f38bab57 100644 --- a/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCache.java +++ b/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCache.java @@ -121,5 +121,18 @@ public class CouchbaseCache implements Cache { public final void clear() { client.flush(); } - + + /* + * (non-Javadoc) + * @see org.springframework.cache.Cache#putIfAbsent(java.lang.Object, java.lang.Object) + */ + public ValueWrapper putIfAbsent(Object key, Object value) { + + if(get(key) == null) { + put(key, value); + return null; + } + + return new SimpleValueWrapper(value); + } }