1 | /* |
2 | * @(#) $Id: ReverseProtocolProvider.java 210062 2005-07-11 03:52:38Z trustin $ |
3 | * |
4 | * Copyright 2004 The Apache Software Foundation |
5 | * |
6 | * Licensed under the Apache License, Version 2.0 (the "License"); |
7 | * you may not use this file except in compliance with the License. |
8 | * You may obtain a copy of the License at |
9 | * |
10 | * http://www.apache.org/licenses/LICENSE-2.0 |
11 | * |
12 | * Unless required by applicable law or agreed to in writing, software |
13 | * distributed under the License is distributed on an "AS IS" BASIS, |
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
15 | * See the License for the specific language governing permissions and |
16 | * limitations under the License. |
17 | * |
18 | */ |
19 | package org.apache.mina.examples.reverser; |
20 | |
21 | import org.apache.mina.protocol.ProtocolCodecFactory; |
22 | import org.apache.mina.protocol.ProtocolDecoder; |
23 | import org.apache.mina.protocol.ProtocolEncoder; |
24 | import org.apache.mina.protocol.ProtocolHandler; |
25 | import org.apache.mina.protocol.ProtocolProvider; |
26 | |
27 | /** |
28 | * {@link ProtocolProvider} implementation for reverser server protocol. |
29 | * |
30 | * @author Trustin Lee (trustin@apache.org) |
31 | * @version $Rev: 210062 $, $Date: 2005-07-11 12:52:38 +0900 $, |
32 | */ |
33 | public class ReverseProtocolProvider implements ProtocolProvider |
34 | { |
35 | |
36 | // Protocol handler is usually a singleton. |
37 | private static ProtocolHandler HANDLER = new ReverseProtocolHandler(); |
38 | |
39 | // Codec factory is also usually a singleton. |
40 | private static ProtocolCodecFactory CODEC_FACTORY = new ProtocolCodecFactory() |
41 | { |
42 | public ProtocolEncoder newEncoder() |
43 | { |
44 | // Create a new encoder. |
45 | return new TextLineEncoder(); |
46 | } |
47 | |
48 | public ProtocolDecoder newDecoder() |
49 | { |
50 | // Create a new decoder. |
51 | return new TextLineDecoder(); |
52 | } |
53 | }; |
54 | |
55 | public ProtocolCodecFactory getCodecFactory() |
56 | { |
57 | return CODEC_FACTORY; |
58 | } |
59 | |
60 | public ProtocolHandler getHandler() |
61 | { |
62 | return HANDLER; |
63 | } |
64 | |
65 | } |