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 01cdac9d6bb8d98d7e470b6dcaa58a1c63b5df4d..2eb98bb3051908a8eaf993f6feeb4afcf435995f 100644 (file)
@@ -74,20 +74,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);
+    }
+
+    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 T getInstance() {
-                return listener;
-            }
-        };
+        @Override
+        public void close() {
+            // NOOP, no rpcs appear and disappear in this implementation
+        }
     }
 }