Add blacklist capability to yang-store-impl.
[controller.git] / opendaylight / config / yang-store-impl / src / main / java / org / opendaylight / controller / config / yang / store / impl / YangStoreSnapshotImpl.java
index d5169eac38b2d97982ef6a9227933662450687c3..7a5ca7debe8c3d4379e1c03812afcabac3ee1390 100644 (file)
@@ -7,32 +7,31 @@
  */
 package org.opendaylight.controller.config.yang.store.impl;
 
-import java.util.Map;
-import java.util.Map.Entry;
-
 import org.opendaylight.controller.config.yang.store.api.YangStoreSnapshot;
 import org.opendaylight.controller.config.yangjmxgenerator.ModuleMXBeanEntry;
 import org.opendaylight.yangtools.yang.model.api.Module;
 
+import java.util.Collections;
+import java.util.Map;
+import java.util.Map.Entry;
+
 public class YangStoreSnapshotImpl implements YangStoreSnapshot {
 
-    private final Map<String /* Namespace from yang file */, Map<String /*
-                                                                         * Name
-                                                                         * of
-                                                                         * module
-                                                                         * entry
-                                                                         * from
-                                                                         * yang
-                                                                         * file
-                                                                         */, ModuleMXBeanEntry>> moduleMXBeanEntryMap;
+    private final Map<String /* Namespace from yang file */,
+            Map<String /* Name of module entry from yang file */, ModuleMXBeanEntry>> moduleMXBeanEntryMap;
 
     private final Map<String, Entry<Module, String>> moduleMap;
 
     public YangStoreSnapshotImpl(
             Map<String, Map<String, ModuleMXBeanEntry>> moduleMXBeanEntryMap,
             Map<String, Entry<Module, String>> moduleMap) {
-        this.moduleMXBeanEntryMap = moduleMXBeanEntryMap;
-        this.moduleMap = moduleMap;
+        this.moduleMXBeanEntryMap = Collections.unmodifiableMap(moduleMXBeanEntryMap);
+        this.moduleMap = Collections.unmodifiableMap(moduleMap);
+    }
+
+    public YangStoreSnapshotImpl(YangStoreSnapshotImpl yangStoreSnapshot) {
+        this.moduleMXBeanEntryMap = yangStoreSnapshot.moduleMXBeanEntryMap;
+        this.moduleMap = yangStoreSnapshot.moduleMap;
     }
 
     @Override