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); + } }