Support for building a immutable ConsistentMap and DistributedSet

Change-Id: Ic34684551f5c7d1f4fdc4cd3fc1a7bfabc5681f5
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultConsistentMapBuilder.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultConsistentMapBuilder.java
index ba56e59..534b59f 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultConsistentMapBuilder.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultConsistentMapBuilder.java
@@ -19,6 +19,7 @@
     private Serializer serializer;
     private String name;
     private boolean partitionsEnabled = true;
+    private boolean readOnly = false;
     private final Database partitionedDatabase;
     private final Database inMemoryDatabase;
 
@@ -47,6 +48,12 @@
         return this;
     }
 
+    @Override
+    public ConsistentMapBuilder<K, V> withUpdatesDisabled() {
+        readOnly = true;
+        return this;
+    }
+
     private boolean validInputs() {
         return name != null && serializer != null;
     }
@@ -57,7 +64,8 @@
         return new DefaultConsistentMap<>(
                 name,
                 partitionsEnabled ? partitionedDatabase : inMemoryDatabase,
-                serializer);
+                serializer,
+                readOnly);
     }
 
     @Override
@@ -66,6 +74,7 @@
         return new DefaultAsyncConsistentMap<>(
                 name,
                 partitionsEnabled ? partitionedDatabase : inMemoryDatabase,
-                serializer);
+                serializer,
+                readOnly);
     }
 }
\ No newline at end of file