--- /dev/null
+/**
+* Generated file
+
+* Generated from: yang module name: nsos-threadpool yang module local name: netty-threadgroup-fixed
+* Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
+* Generated at: Fri Nov 08 08:31:45 CET 2013
+*
+* Do not modify this file unless it is present under src/main directory
+*/
+package org.opendaylight.controller.config.yang.netty.threadgroup;
+
+import com.google.common.base.Preconditions;
+import io.netty.channel.nio.NioEventLoopGroup;
+
+/**
+*
+*/
+public final class NettyThreadgroupModule extends org.opendaylight.controller.config.yang.netty.threadgroup.AbstractNettyThreadgroupModule
+{
+ public NettyThreadgroupModule(org.opendaylight.controller.config.api.ModuleIdentifier name, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
+ super(name, dependencyResolver);
+ }
+
+ public NettyThreadgroupModule(org.opendaylight.controller.config.api.ModuleIdentifier name, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, NettyThreadgroupModule oldModule, java.lang.AutoCloseable oldInstance) {
+ super(name, dependencyResolver, oldModule, oldInstance);
+ }
+
+ @Override
+ public void validate(){
+ if(getThreadCount()!=null) {
+ Preconditions.checkArgument(getThreadCount() > 0, "Thread count cannot be < 0");
+ }
+ }
+
+ @Override
+ public java.lang.AutoCloseable createInstance() {
+ return getThreadCount()==null ? new NioEventLoopGroupCloseable() : new NioEventLoopGroupCloseable(getThreadCount());
+ }
+
+
+ private class NioEventLoopGroupCloseable extends NioEventLoopGroup implements AutoCloseable {
+
+
+ public NioEventLoopGroupCloseable(int threadCount) {
+ super(threadCount);
+ }
+
+ public NioEventLoopGroupCloseable() {
+ super();
+ }
+
+ @Override
+ public void close() throws Exception {
+ shutdownGracefully();
+ }
+ }
+}