1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.websocket.jsr356.messages;
20
21 import java.io.IOException;
22 import java.nio.ByteBuffer;
23
24 import javax.websocket.MessageHandler;
25 import javax.websocket.MessageHandler.Partial;
26
27 import org.eclipse.jetty.websocket.common.message.MessageAppender;
28 import org.eclipse.jetty.websocket.common.util.Utf8PartialBuilder;
29 import org.eclipse.jetty.websocket.jsr356.MessageHandlerWrapper;
30
31
32
33
34 public class TextPartialMessage implements MessageAppender
35 {
36 @SuppressWarnings("unused")
37 private final MessageHandlerWrapper msgWrapper;
38 private final MessageHandler.Partial<String> partialHandler;
39 private final Utf8PartialBuilder utf8Partial;
40
41 @SuppressWarnings("unchecked")
42 public TextPartialMessage(MessageHandlerWrapper wrapper)
43 {
44 this.msgWrapper = wrapper;
45 this.partialHandler = (Partial<String>)wrapper.getHandler();
46 this.utf8Partial = new Utf8PartialBuilder();
47 }
48
49 @Override
50 public void appendFrame(ByteBuffer payload, boolean isLast) throws IOException
51 {
52 String partialText = utf8Partial.toPartialString(payload);
53
54 partialHandler.onMessage(partialText,isLast);
55 }
56
57 @Override
58 public void messageComplete()
59 {
60
61 }
62 }