diff --git a/src/main/java/com/googlecode/objectify/Objectify.java b/src/main/java/com/googlecode/objectify/Objectify.java
index ab69ac30..b2e1aca6 100644
--- a/src/main/java/com/googlecode/objectify/Objectify.java
+++ b/src/main/java/com/googlecode/objectify/Objectify.java
@@ -36,8 +36,40 @@ public interface Objectify
*/
Loader load();
+ /**
+ *
Start an add command chain. Allows you to add entity objects (datastore.add). Note that all command
+ * chain objects are immutable.
+ *
+ * Saves do NOT cascade; if you wish to save an object graph, you must save each individual entity.
+ *
+ * A quick example:
+ * {@code ofy().add().entities(e1, e2, e3).now();}
+ *
+ * All command objects are immutable; this method returns a new object rather than modifying the
+ * current command object.
+ *
+ * @return the next step in the immutable command chain.
+ */
+ Saver add();
+
+ /**
+ * Start an update command chain. Allows you to update (re-save) entity objects (datastore.update). Note that all command
+ * chain objects are immutable.
+ *
+ * Saves do NOT cascade; if you wish to save an object graph, you must save each individual entity.
+ *
+ * A quick example:
+ * {@code ofy().update().entities(e1, e2, e3).now();}
+ *
+ * All command objects are immutable; this method returns a new object rather than modifying the
+ * current command object.
+ *
+ * @return the next step in the immutable command chain.
+ */
+ Saver update();
+
/**
- * Start a save command chain. Allows you to save (or re-save) entity objects. Note that all command
+ *
Start a save command chain. Allows you to save (or re-save) entity objects (datastore.put). Note that all command
* chain objects are immutable.
*
* Saves do NOT cascade; if you wish to save an object graph, you must save each individual entity.
diff --git a/src/main/java/com/googlecode/objectify/impl/AddSaverImpl.java b/src/main/java/com/googlecode/objectify/impl/AddSaverImpl.java
new file mode 100644
index 00000000..d36f2350
--- /dev/null
+++ b/src/main/java/com/googlecode/objectify/impl/AddSaverImpl.java
@@ -0,0 +1,25 @@
+package com.googlecode.objectify.impl;
+
+import com.googlecode.objectify.Key;
+import com.googlecode.objectify.Result;
+import java.util.Map;
+
+/**
+ * Implementation of the Add/Create in datastore
+ */
+public class AddSaverImpl extends SaverImpl {
+
+ /** */
+ public AddSaverImpl(ObjectifyImpl ofy) {
+ super(ofy);
+ }
+
+ /* (non-Javadoc)
+ * @see com.googlecode.objectify.cmd.Saver#entities(java.lang.Iterable)
+ */
+ @Override
+ public Result