--- /dev/null
+/*\r
+ * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+\r
+package org.opendaylight.openflowjava.protocol.impl.core;\r
+\r
+import org.opendaylight.openflowjava.protocol.api.connection.SwitchConnectionHandler;\r
+import org.opendaylight.openflowjava.protocol.api.connection.TlsConfiguration;\r
+import org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializationFactory;\r
+import org.opendaylight.openflowjava.protocol.impl.serialization.SerializationFactory;\r
+\r
+/**\r
+ * @author michal.polkorab\r
+ *\r
+ */\r
+public class ChannelInitializerFactory {\r
+\r
+ private long switchIdleTimeOut;\r
+ private DeserializationFactory deserializationFactory;\r
+ private SerializationFactory serializationFactory;\r
+ private TlsConfiguration tlsConfig;\r
+ private SwitchConnectionHandler switchConnectionHandler;\r
+ \r
+ /**\r
+ * @return PublishingChannelInitializer that initializes new channels\r
+ */\r
+ public TcpChannelInitializer createPublishingChannelInitializer() {\r
+ TcpChannelInitializer initializer = new TcpChannelInitializer();\r
+ initializer.setSwitchIdleTimeout(switchIdleTimeOut);\r
+ initializer.setDeserializationFactory(deserializationFactory);\r
+ initializer.setSerializationFactory(serializationFactory);\r
+ initializer.setTlsConfiguration(tlsConfig);\r
+ initializer.setSwitchConnectionHandler(switchConnectionHandler);\r
+ return initializer;\r
+ }\r
+\r
+ /**\r
+ * @return PublishingChannelInitializer that initializes new channels\r
+ */\r
+ public UdpChannelInitializer createUdpChannelInitializer() {\r
+ UdpChannelInitializer initializer = new UdpChannelInitializer();\r
+ initializer.setSwitchIdleTimeout(switchIdleTimeOut);\r
+ initializer.setDeserializationFactory(deserializationFactory);\r
+ initializer.setSerializationFactory(serializationFactory);\r
+ initializer.setSwitchConnectionHandler(switchConnectionHandler);\r
+ return initializer;\r
+ }\r
+\r
+ /**\r
+ * @param switchIdleTimeOut\r
+ */\r
+ public void setSwitchIdleTimeout(long switchIdleTimeOut) {\r
+ this.switchIdleTimeOut = switchIdleTimeOut;\r
+ }\r
+\r
+ /**\r
+ * @param deserializationFactory\r
+ */\r
+ public void setDeserializationFactory(DeserializationFactory deserializationFactory) {\r
+ this.deserializationFactory = deserializationFactory;\r
+ }\r
+\r
+ /**\r
+ * @param serializationFactory\r
+ */\r
+ public void setSerializationFactory(SerializationFactory serializationFactory) {\r
+ this.serializationFactory = serializationFactory;\r
+ }\r
+\r
+ /**\r
+ * @param tlsConfig\r
+ */\r
+ public void setTlsConfig(TlsConfiguration tlsConfig) {\r
+ this.tlsConfig = tlsConfig;\r
+ }\r
+\r
+ /**\r
+ * @param switchConnectionHandler\r
+ */\r
+ public void setSwitchConnectionHandler(SwitchConnectionHandler switchConnectionHandler) {\r
+ this.switchConnectionHandler = switchConnectionHandler;\r
+ }\r
+}
\ No newline at end of file