1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.mitosis.service.protocol.codec;
21
22
23 import java.nio.charset.CharacterCodingException;
24 import java.nio.charset.Charset;
25 import java.nio.charset.CharsetEncoder;
26 import java.util.HashSet;
27 import java.util.Set;
28
29 import org.apache.directory.mitosis.service.protocol.message.BaseMessage;
30 import org.apache.directory.mitosis.service.protocol.message.LoginMessage;
31 import org.apache.mina.common.ByteBuffer;
32
33
34 public class LoginMessageEncoder extends BaseMessageEncoder
35 {
36 private final CharsetEncoder utf8encoder;
37
38
39 public LoginMessageEncoder()
40 {
41 utf8encoder = Charset.forName( "UTF-8" ).newEncoder();
42 }
43
44
45 protected void encodeBody( BaseMessage in, ByteBuffer out )
46 {
47 LoginMessage m = ( LoginMessage ) in;
48
49 try
50 {
51 out.putString( m.getReplicaId(), utf8encoder );
52 }
53 catch ( CharacterCodingException e )
54 {
55 throw new RuntimeException( e );
56 }
57 }
58
59
60 public Set<Class<?>> getMessageTypes()
61 {
62 Set<Class<?>> set = new HashSet<Class<?>>();
63 set.add( LoginMessage.class );
64
65 return set;
66 }
67 }