Merge "Reuse AbstractListenerRegistration"
[controller.git] / opendaylight / config / config-manager / src / main / java / org / opendaylight / controller / config / manager / impl / ModuleInternalTransactionalInfo.java
index 571bbad753e9080e93f36df0ce46982d08e1fd25..f5984334331ec2d7eb9d8c0d6bb07cfd1bc5f030 100644 (file)
@@ -7,38 +7,37 @@
  */
 package org.opendaylight.controller.config.manager.impl;
 
-import javax.annotation.Nullable;
-
 import org.opendaylight.controller.config.api.ModuleIdentifier;
 import org.opendaylight.controller.config.manager.impl.dynamicmbean.DynamicReadableWrapper;
-import org.opendaylight.controller.config.manager.impl.jmx.TransactionModuleJMXRegistrator;
-import org.opendaylight.controller.config.manager.impl.jmx.TransactionModuleJMXRegistrator
-        .TransactionModuleJMXRegistration;
+import org.opendaylight.controller.config.manager.impl.jmx.TransactionModuleJMXRegistrator.TransactionModuleJMXRegistration;
 import org.opendaylight.controller.config.spi.Module;
 import org.opendaylight.controller.config.spi.ModuleFactory;
+import org.opendaylight.yangtools.concepts.Identifiable;
+
+import javax.annotation.Nullable;
 
-public class ModuleInternalTransactionalInfo {
+public class ModuleInternalTransactionalInfo implements Identifiable<ModuleIdentifier> {
     private final ModuleIdentifier name;
     private final Module module;
     private final ModuleFactory moduleFactory;
     @Nullable
     private final ModuleInternalInfo maybeOldInternalInfo;
     private final TransactionModuleJMXRegistration transactionModuleJMXRegistration;
+    private final boolean isDefaultBean;
 
     ModuleInternalTransactionalInfo(ModuleIdentifier name, Module module,
-            ModuleFactory moduleFactory,
-            ModuleInternalInfo maybeOldInternalInfo,
-            TransactionModuleJMXRegistration transactionModuleJMXRegistration) {
+                                    ModuleFactory moduleFactory,
+                                    ModuleInternalInfo maybeOldInternalInfo,
+                                    TransactionModuleJMXRegistration transactionModuleJMXRegistration,
+                                    boolean isDefaultBean) {
         this.name = name;
         this.module = module;
         this.moduleFactory = moduleFactory;
         this.maybeOldInternalInfo = maybeOldInternalInfo;
         this.transactionModuleJMXRegistration = transactionModuleJMXRegistration;
+        this.isDefaultBean = isDefaultBean;
     }
 
-    public ModuleIdentifier getName() {
-        return name;
-    }
 
     public boolean hasOldModule() {
         return maybeOldInternalInfo != null;
@@ -56,6 +55,7 @@ public class ModuleInternalTransactionalInfo {
                 maybeOldInternalInfo.getOrderingIdx());
     }
 
+
     public Module getModule() {
         return module;
     }
@@ -66,12 +66,22 @@ public class ModuleInternalTransactionalInfo {
 
     @Nullable
     public ModuleInternalInfo getOldInternalInfo() {
-        if (maybeOldInternalInfo == null)
+        if (maybeOldInternalInfo == null) {
             throw new NullPointerException();
+        }
         return maybeOldInternalInfo;
     }
 
     public TransactionModuleJMXRegistration getTransactionModuleJMXRegistration() {
         return transactionModuleJMXRegistration;
     }
+
+    @Override
+    public ModuleIdentifier getIdentifier() {
+        return name;
+    }
+
+    public boolean isDefaultBean() {
+        return isDefaultBean;
+    }
 }