66package io .jooby ;
77
88import java .lang .reflect .Type ;
9+ import java .nio .ByteBuffer ;
910import java .nio .charset .StandardCharsets ;
1011
1112import edu .umd .cs .findbugs .annotations .NonNull ;
@@ -27,7 +28,21 @@ public interface WebSocketMessage extends Value {
2728 * @param <T> Element type.
2829 * @return Instance of the type.
2930 */
30- @ NonNull <T > T to (@ NonNull Type type );
31+ <T > T to (@ NonNull Type type );
32+
33+ /**
34+ * Direct access to bytes.
35+ *
36+ * @return Direct access to bytes.
37+ */
38+ byte [] bytes ();
39+
40+ /**
41+ * Direct access to bytes.
42+ *
43+ * @return Direct access to bytes.
44+ */
45+ ByteBuffer byteBuffer ();
3146
3247 /**
3348 * Creates a websocket message.
@@ -36,7 +51,7 @@ public interface WebSocketMessage extends Value {
3651 * @param bytes Text message as byte array.
3752 * @return A websocket message.
3853 */
39- static @ NonNull WebSocketMessage create (@ NonNull Context ctx , @ NonNull byte [] bytes ) {
54+ static WebSocketMessage create (@ NonNull Context ctx , @ NonNull byte [] bytes ) {
4055 return new WebSocketMessageImpl (ctx , bytes );
4156 }
4257
@@ -47,7 +62,7 @@ public interface WebSocketMessage extends Value {
4762 * @param message Text message.
4863 * @return A websocket message.
4964 */
50- static @ NonNull WebSocketMessage create (@ NonNull Context ctx , @ NonNull String message ) {
65+ static WebSocketMessage create (@ NonNull Context ctx , @ NonNull String message ) {
5166 return new WebSocketMessageImpl (ctx , message .getBytes (StandardCharsets .UTF_8 ));
5267 }
5368}
0 commit comments