Reduce ObjectRegistration use
[mdsal.git] / dom / mdsal-dom-broker / src / main / java / org / opendaylight / mdsal / dom / broker / DOMNotificationRouter.java
index 6b5e956d4572c655cf139b3c94de94be912e66be..4b3190a1da014eaf5bee51433f2021707d9ff5d5 100644 (file)
@@ -7,6 +7,8 @@
  */
 package org.opendaylight.mdsal.dom.broker;
 
+import static java.util.Objects.requireNonNull;
+
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMultimap;
@@ -35,7 +37,6 @@ import org.opendaylight.mdsal.dom.api.DOMNotificationPublishDemandExtension;
 import org.opendaylight.mdsal.dom.api.DOMNotificationPublishDemandExtension.DemandListener;
 import org.opendaylight.mdsal.dom.api.DOMNotificationPublishService;
 import org.opendaylight.mdsal.dom.api.DOMNotificationService;
-import org.opendaylight.yangtools.concepts.AbstractObjectRegistration;
 import org.opendaylight.yangtools.concepts.AbstractRegistration;
 import org.opendaylight.yangtools.concepts.Registration;
 import org.opendaylight.yangtools.util.ObjectRegistry;
@@ -72,9 +73,11 @@ public class DOMNotificationRouter implements AutoCloseable {
     }
 
     @VisibleForTesting
-    abstract static sealed class Reg extends AbstractObjectRegistration<DOMNotificationListener> {
+    abstract static sealed class Reg extends AbstractRegistration {
+        private final @NonNull DOMNotificationListener listener;
+
         Reg(final @NonNull DOMNotificationListener listener) {
-            super(listener);
+            this.listener = requireNonNull(listener);
         }
     }
 
@@ -323,7 +326,7 @@ public class DOMNotificationRouter implements AutoCloseable {
 
     private static void deliverEvents(final Reg reg, final ImmutableList<DOMNotificationRouterEvent> events) {
         if (reg.notClosed()) {
-            final var listener = reg.getInstance();
+            final var listener = reg.listener;
             for (var event : events) {
                 event.deliverTo(listener);
             }