Resolved the Serialization and Deserialization issues for MultiValued Columns with...
[ovsdb.git] / library / src / main / java / org / opendaylight / ovsdb / lib / notation / OvsDBMap.java
index c3e1e84c00ecffe11a33fcaa707a8e6ba57f78ca..c1a43647012a18be85b0a52a2e15b85fbbc8c9ad 100644 (file)
@@ -9,25 +9,36 @@
  */
 package org.opendaylight.ovsdb.lib.notation;
 
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.google.common.collect.ForwardingMap;
-import com.google.common.collect.Maps;
+import java.util.Map;
 
 import org.opendaylight.ovsdb.lib.notation.json.Converter;
 import org.opendaylight.ovsdb.lib.notation.json.OvsDBMapSerializer;
 
-import java.util.HashMap;
-import java.util.Map;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.google.common.collect.ForwardingMap;
+import com.google.common.collect.Maps;
 
 @JsonDeserialize(converter = Converter.MapConverter.class)
 @JsonSerialize(using = OvsDBMapSerializer.class)
 public class OvsDBMap<K, V> extends ForwardingMap<K, V> {
 
-    HashMap<K, V> target = Maps.newHashMap();
+    Map<K, V> target = Maps.newHashMap();
+
+    public OvsDBMap() {
+        this(Maps.<K,V>newHashMap());
+    }
+
+    public OvsDBMap(Map<K, V> value) {
+        this.target = value;
+    }
 
     @Override
     public Map<K, V> delegate() {
         return target;
     }
+
+    public static<K,V> OvsDBMap<K,V> fromMap(Map<K, V> value) {
+        return new OvsDBMap<K,V>(value);
+    }
 }