2525public class Message extends BaseMessage {
2626
2727 /**
28- * The event name, if available
28+ * The event name, if available.
2929 */
3030 public String name ;
3131
3232 /**
33- * Extras, if available
33+ * Extras, if available.
3434 */
3535 public MessageExtras extras ;
3636
37+ /**
38+ * Key needed only in case one client is publishing this message on behalf of another client.
39+ */
40+ public String connectionKey ;
41+
3742 private static final String NAME = "name" ;
3843 private static final String EXTRAS = "extras" ;
44+ private static final String CONNECTION_KEY = "connectionKey" ;
3945
4046 /**
4147 * Default constructor
@@ -44,29 +50,44 @@ public Message() {
4450 }
4551
4652 /**
47- * Construct a message from event name and data
48- * @param name
49- * @param data
53+ * Construct a message from event name and data.
54+ *
55+ * @param name the event name
56+ * @param data the message payload
5057 */
5158 public Message (String name , Object data ) {
5259 this (name , data , null , null );
5360 }
5461
55-
62+ /**
63+ * Construct a message from name, data, and client id.
64+ *
65+ * @param name the event name
66+ * @param data the message payload
67+ * @param clientId the client identifier
68+ */
5669 public Message (String name , Object data , String clientId ) {
5770 this (name , data , clientId , null );
5871 }
5972
73+ /**
74+ * Construct a message from name, data, and extras.
75+ *
76+ * @param name the event name
77+ * @param data the message payload
78+ * @param extras extra information to be sent with this message
79+ */
6080 public Message (String name , Object data , MessageExtras extras ) {
6181 this (name , data , null , extras );
6282 }
6383
6484 /**
65- * Generic constructor
66- * @param name
67- * @param data
68- * @param clientId
69- * @param extras
85+ * Construct a message from name, data, client id, and extras.
86+ *
87+ * @param name the event name
88+ * @param data the message payload
89+ * @param clientId the client identifier
90+ * @param extras extra information to be sent with this message
7091 */
7192 public Message (String name , Object data , String clientId , MessageExtras extras ) {
7293 this .name = name ;
@@ -273,6 +294,9 @@ public JsonElement serialize(Message message, Type typeOfMessage, JsonSerializat
273294 if (message .extras != null ) {
274295 json .add (EXTRAS , Serialisation .gson .toJsonTree (message .extras ));
275296 }
297+ if (message .connectionKey != null ) {
298+ json .addProperty (CONNECTION_KEY , message .connectionKey );
299+ }
276300 return json ;
277301 }
278302
0 commit comments