Use a dedicated no-op listener class
[netconf.git] / netconf / sal-netconf-connector / src / main / java / org / opendaylight / netconf / sal / connect / netconf / sal / NetconfDeviceRpc.java
index 425d6852a531799c2853a87269544ff2fd8723f3..cf3d2c3bd9ef05ecb28c1c2cea36cc77856871de 100644 (file)
@@ -80,20 +80,28 @@ public final class NetconfDeviceRpc implements DOMRpcService {
     @Override
     public <T extends DOMRpcAvailabilityListener> ListenerRegistration<T> registerRpcListener(
             @Nonnull final T listener) {
-
         listener.onRpcAvailable(Collections2.transform(schemaContext.getOperations(),
             input -> DOMRpcIdentifier.create(input.getPath())));
 
-        return new ListenerRegistration<T>() {
-            @Override
-            public void close() {
-                // NOOP, no rpcs appear and disappear in this implementation
-            }
+        return new NoOpListenerRegistration<>(listener);
+    }
 
-            @Override
-            public T getInstance() {
-                return listener;
-            }
-        };
+    private static final class NoOpListenerRegistration<T extends DOMRpcAvailabilityListener>
+            implements ListenerRegistration<T> {
+        private final T listener;
+
+        NoOpListenerRegistration(final T listener) {
+            this.listener = requireNonNull(listener);
+        }
+
+        @Override
+        public T getInstance() {
+            return listener;
+        }
+
+        @Override
+        public void close() {
+            // NOOP, no rpcs appear and disappear in this implementation
+        }
     }
 }