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.examples.sumup.message.AbstractMessage;
27 import org.apache.mina.examples.sumup.message.ResultMessage;
28 import org.apache.mina.protocol.ProtocolSession;
29 import org.apache.mina.protocol.codec.MessageEncoder;
30
31 /***
32 * A {@link MessageEncoder} that encodes {@link ResultMessage}.
33 *
34 * @author The Apache Directory Project
35 * @version $Rev: 332218 $, $Date: 2005-11-10 12:52:42 +0900 $
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( ProtocolSession 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 }