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