Added an async version for AtomicValue and misc javadoc improvements
Change-Id: Idc401964a726d221c01ecda0cc42c4a92551113f
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicValueBuilder.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicValueBuilder.java
index b39004b..7fc3e8d 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicValueBuilder.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicValueBuilder.java
@@ -16,6 +16,7 @@
package org.onosproject.store.consistent.impl;
import org.onosproject.store.serializers.KryoNamespaces;
+import org.onosproject.store.service.AsyncAtomicValue;
import org.onosproject.store.service.AtomicValue;
import org.onosproject.store.service.AtomicValueBuilder;
import org.onosproject.store.service.ConsistentMapBuilder;
@@ -28,13 +29,12 @@
*/
public class DefaultAtomicValueBuilder<V> implements AtomicValueBuilder<V> {
- private Serializer serializer;
private String name;
- private ConsistentMapBuilder<String, byte[]> mapBuilder;
+ private ConsistentMapBuilder<String, V> mapBuilder;
private boolean metering = true;
public DefaultAtomicValueBuilder(DatabaseManager manager) {
- mapBuilder = manager.<String, byte[]>consistentMapBuilder()
+ mapBuilder = manager.<String, V>consistentMapBuilder()
.withName("onos-atomic-values")
.withMeteringDisabled()
.withSerializer(Serializer.using(KryoNamespaces.BASIC));
@@ -48,7 +48,7 @@
@Override
public AtomicValueBuilder<V> withSerializer(Serializer serializer) {
- this.serializer = serializer;
+ mapBuilder.withSerializer(serializer);
return this;
}
@@ -65,7 +65,12 @@
}
@Override
+ public AsyncAtomicValue<V> buildAsyncValue() {
+ return new DefaultAsyncAtomicValue<>(mapBuilder.buildAsyncMap(), name, metering);
+ }
+
+ @Override
public AtomicValue<V> build() {
- return new DefaultAtomicValue<>(mapBuilder.build(), name, metering, serializer);
+ return new DefaultAtomicValue<>(buildAsyncValue());
}
}
\ No newline at end of file