diff --git a/src/main/java/com/couchbase/spring/core/CouchbaseOperations.java b/src/main/java/com/couchbase/spring/core/CouchbaseOperations.java
index c6641118..2fc5de58 100644
--- a/src/main/java/com/couchbase/spring/core/CouchbaseOperations.java
+++ b/src/main/java/com/couchbase/spring/core/CouchbaseOperations.java
@@ -24,4 +24,15 @@ package com.couchbase.spring.core;
public interface CouchbaseOperations {
+ /**
+ * Insert the object into the connected bucket.
+ *
+ *
+ * The object is converted to a JSON representation using an instance of
+ * {@link CouchbaseConverter}.
+ *
+ *
+ * @param objectToSave the object to store in the bucket.
+ */
+ void insert(Object objectToSave);
}
diff --git a/src/main/java/com/couchbase/spring/core/CouchbaseTemplate.java b/src/main/java/com/couchbase/spring/core/CouchbaseTemplate.java
index 59fbd176..fdf21a00 100644
--- a/src/main/java/com/couchbase/spring/core/CouchbaseTemplate.java
+++ b/src/main/java/com/couchbase/spring/core/CouchbaseTemplate.java
@@ -25,6 +25,7 @@ package com.couchbase.spring.core;
import com.couchbase.client.CouchbaseClient;
import com.couchbase.spring.core.convert.CouchbaseConverter;
import com.couchbase.spring.core.convert.MappingCouchbaseConverter;
+import com.couchbase.spring.core.mapping.ConvertedCouchbaseDocument;
public class CouchbaseTemplate implements CouchbaseOperations {
@@ -47,5 +48,13 @@ public class CouchbaseTemplate implements CouchbaseOperations {
return converter;
}
+ @Override
+ public void insert(Object objectToSave) {
+ ConvertedCouchbaseDocument converted = new ConvertedCouchbaseDocument();
+ couchbaseConverter.write(objectToSave, converted);
+
+ client.set(converted.getId(), converted.getExpiry(), converted.getValue());
+ }
+
}
diff --git a/src/main/java/com/couchbase/spring/core/convert/CouchbaseConverter.java b/src/main/java/com/couchbase/spring/core/convert/CouchbaseConverter.java
index 927c40f6..f0c06148 100644
--- a/src/main/java/com/couchbase/spring/core/convert/CouchbaseConverter.java
+++ b/src/main/java/com/couchbase/spring/core/convert/CouchbaseConverter.java
@@ -22,6 +22,7 @@
package com.couchbase.spring.core.convert;
+import com.couchbase.spring.core.mapping.ConvertedCouchbaseDocument;
import com.couchbase.spring.core.mapping.CouchbasePersistentEntity;
import com.couchbase.spring.core.mapping.CouchbasePersistentProperty;
import org.springframework.data.convert.EntityConverter;
@@ -29,8 +30,7 @@ import org.springframework.data.convert.EntityReader;
public interface CouchbaseConverter extends
EntityConverter,
- CouchbasePersistentProperty, Object, Object>,
- CouchbaseWriter