2c486f0035e3377632e626bd306946f5014931c6
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / core / ProtocolChannelInitializer.java
1 /*\r
2  * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 \r
9 package org.opendaylight.openflowjava.protocol.impl.core;\r
10 \r
11 import io.netty.channel.Channel;\r
12 import io.netty.channel.ChannelInitializer;\r
13 \r
14 import org.opendaylight.openflowjava.protocol.api.connection.SwitchConnectionHandler;\r
15 import org.opendaylight.openflowjava.protocol.api.connection.TlsConfiguration;\r
16 import org.opendaylight.openflowjava.protocol.impl.deserialization.DeserializationFactory;\r
17 import org.opendaylight.openflowjava.protocol.impl.serialization.SerializationFactory;\r
18 \r
19 /**\r
20  * @param <CHANNEL_TYPE> Channel type\r
21  * @author michal.polkorab\r
22  */\r
23 public abstract class ProtocolChannelInitializer<CHANNEL_TYPE extends Channel>\r
24         extends ChannelInitializer<CHANNEL_TYPE> {\r
25 \r
26     private SwitchConnectionHandler switchConnectionHandler;\r
27     private long switchIdleTimeout;\r
28     private SerializationFactory serializationFactory;\r
29     private DeserializationFactory deserializationFactory;\r
30     private TlsConfiguration tlsConfiguration;\r
31 \r
32     /**\r
33      * @param switchConnectionHandler the switchConnectionHandler to set\r
34      */\r
35     public void setSwitchConnectionHandler(final SwitchConnectionHandler switchConnectionHandler) {\r
36         this.switchConnectionHandler = switchConnectionHandler;\r
37     }\r
38 \r
39     /**\r
40      * @param switchIdleTimeout the switchIdleTimeout to set\r
41      */\r
42     public void setSwitchIdleTimeout(final long switchIdleTimeout) {\r
43         this.switchIdleTimeout = switchIdleTimeout;\r
44     }\r
45 \r
46     /**\r
47      * @param serializationFactory\r
48      */\r
49     public void setSerializationFactory(final SerializationFactory serializationFactory) {\r
50         this.serializationFactory = serializationFactory;\r
51     }\r
52 \r
53     /**\r
54      * @param deserializationFactory\r
55      */\r
56     public void setDeserializationFactory(final DeserializationFactory deserializationFactory) {\r
57         this.deserializationFactory = deserializationFactory;\r
58     }\r
59 \r
60     /**\r
61      * @param tlsConfiguration\r
62      */\r
63     public void setTlsConfiguration(TlsConfiguration tlsConfiguration) {\r
64         this.tlsConfiguration = tlsConfiguration;\r
65     }\r
66 \r
67     /**\r
68      * @return switch connection handler\r
69      */\r
70     public SwitchConnectionHandler getSwitchConnectionHandler() {\r
71         return switchConnectionHandler;\r
72     }\r
73 \r
74     /**\r
75      * @return switch idle timeout\r
76      */\r
77     public long getSwitchIdleTimeout() {\r
78         return switchIdleTimeout;\r
79     }\r
80 \r
81     /**\r
82      * @return serialization factory\r
83      */\r
84     public SerializationFactory getSerializationFactory() {\r
85         return serializationFactory;\r
86     }\r
87 \r
88     /**\r
89      * @return deserialization factory\r
90      */\r
91     public DeserializationFactory getDeserializationFactory() {\r
92         return deserializationFactory;\r
93     }\r
94 \r
95     /**\r
96      * @return TLS configuration\r
97      */\r
98     public TlsConfiguration getTlsConfiguration() {\r
99         return tlsConfiguration;\r
100     }\r
101 }