1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.mina.examples.sumup.codec;
20
21 import java.util.Collections;
22 import java.util.HashSet;
23 import java.util.Set;
24
25 import org.apache.mina.common.ByteBuffer;
26 import org.apache.mina.common.IoSession;
27 import org.apache.mina.examples.sumup.message.AbstractMessage;
28 import org.apache.mina.examples.sumup.message.ResultMessage;
29 import org.apache.mina.filter.codec.demux.MessageEncoder;
30
31 /***
32 * A {@link MessageEncoder} that encodes {@link ResultMessage}.
33 *
34 * @author The Apache Directory Project
35 * @version $Rev: 355016 $, $Date: 2005-12-08 16:00:30 +0900 (Thu, 08 Dec 2005) $
36 */
37 public class ResultMessageEncoder extends AbstractMessageEncoder
38 {
39 private static final Set TYPES;
40
41 static
42 {
43 Set types = new HashSet();
44 types.add( ResultMessage.class );
45 TYPES = Collections.unmodifiableSet( types );
46 }
47
48 public ResultMessageEncoder()
49 {
50 super( Constants.RESULT );
51 }
52
53 protected void encodeBody( IoSession session, AbstractMessage message, ByteBuffer out )
54 {
55 ResultMessage m = ( ResultMessage ) message;
56 if( m.isOk() )
57 {
58 out.putShort( ( short ) Constants.RESULT_OK );
59 out.putInt( m.getValue() );
60 }
61 else
62 {
63 out.putShort( ( short ) Constants.RESULT_ERROR );
64 }
65 }
66
67 public Set getMessageTypes()
68 {
69 return TYPES;
70 }
71
72 public void dispose() throws Exception
73 {
74 }
75
76 }