Move BP xml files to standard OSGI-INF/blueprint
[controller.git] / opendaylight / config / netty-event-executor-config / src / main / java / org / opendaylight / controller / config / yang / netty / eventexecutor / AutoCloseableEventExecutor.java
index d4e58db36a1b98d1c0cc7ab9f91f85591911be46..7162eb6c2536e620c5bbe9d023eabf262756800a 100644 (file)
@@ -17,6 +17,13 @@ import java.util.concurrent.TimeUnit;
 
 public interface AutoCloseableEventExecutor extends EventExecutor, AutoCloseable {
 
+    static AutoCloseableEventExecutor globalEventExecutor() {
+        return CloseableEventExecutorMixin.createCloseableProxy(GlobalEventExecutor.INSTANCE);
+    }
+
+    static AutoCloseableEventExecutor immediateEventExecutor() {
+        return CloseableEventExecutorMixin.createCloseableProxy(ImmediateEventExecutor.INSTANCE);
+    }
 
     class CloseableEventExecutorMixin implements AutoCloseable {
         public static final int DEFAULT_SHUTDOWN_SECONDS = 1;
@@ -32,38 +39,20 @@ public interface AutoCloseableEventExecutor extends EventExecutor, AutoCloseable
         }
 
 
-        private static AutoCloseableEventExecutor createCloseableProxy(
-                final CloseableEventExecutorMixin closeableEventExecutorMixin) {
+        private static AutoCloseableEventExecutor createCloseableProxy(final EventExecutor eventExecutor) {
+            final CloseableEventExecutorMixin closeableEventExecutor = new CloseableEventExecutorMixin(eventExecutor);
             return Reflection.newProxy(AutoCloseableEventExecutor.class, new AbstractInvocationHandler() {
                 @Override
-                protected Object handleInvocation(final Object proxy, final Method method, final Object[] args) throws Throwable {
+                protected Object handleInvocation(final Object proxy, final Method method, final Object[] args)
+                        throws Throwable {
                     if (method.getName().equals("close")) {
-                        closeableEventExecutorMixin.close();
+                        closeableEventExecutor.close();
                         return null;
                     } else {
-                        return method.invoke(closeableEventExecutorMixin.eventExecutor, args);
+                        return method.invoke(closeableEventExecutor.eventExecutor, args);
                     }
                 }
             });
         }
-
-        public static AutoCloseableEventExecutor globalEventExecutor() {
-            return createCloseableProxy(new CloseableEventExecutorMixin(GlobalEventExecutor.INSTANCE));
-        }
-
-        public static AutoCloseableEventExecutor immediateEventExecutor() {
-            return createCloseableProxy(new CloseableEventExecutorMixin(ImmediateEventExecutor.INSTANCE));
-        }
-
-        public static AutoCloseableEventExecutor forwardingEventExecutor(final EventExecutor eventExecutor,
-                final AutoCloseable closeable) {
-            return createCloseableProxy(new CloseableEventExecutorMixin(eventExecutor) {
-                @Override
-                public void close() throws Exception {
-                    // Intentional no-op.
-                    closeable.close();
-                }
-            });
-        }
     }
-}
\ No newline at end of file
+}