*/
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);
+ }
}