Add new methods to ConsistentMap API to improve usability.

Change-Id: I1e82f0ab191edc6b0f52c7d7b0307aa3d2ef9d1f

Change-Id: I4c5982fe6596f716729b7885eb584a60735cd41b
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseState.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseState.java
index 83909d8..73eacdd 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseState.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseState.java
@@ -68,6 +68,12 @@
   Result<Versioned<V>> put(String tableName, K key, V value);
 
   @Command
+  Result<UpdateResult<Versioned<V>>> putAndGet(String tableName, K key, V value);
+
+  @Command
+  Result<UpdateResult<Versioned<V>>> putIfAbsentAndGet(String tableName, K key, V value);
+
+  @Command
   Result<Versioned<V>> remove(String tableName, K key);
 
   @Command
@@ -98,6 +104,9 @@
   Result<Boolean> replace(String tableName, K key, long oldVersion, V newValue);
 
   @Command
+  Result<UpdateResult<Versioned<V>>> replaceAndGet(String tableName, K key, long oldVersion, V newValue);
+
+  @Command
   Long counterAddAndGet(String counterName, long delta);
 
   @Command