Class Message

All Implemented Interfaces:
Cloneable

public class Message extends BaseMessage
Contains an individual message that is sent to, or received from, Ably.
  • Field Details

    • name

      public String name
      The event name.

      Spec: TM2g

    • extras

      public MessageExtras extras
      A MessageExtras object of arbitrary key-value pairs that may contain metadata, and/or ancillary payloads. Valid payloads include DeltaExtras, JsonObject.

      Spec: TM2i

    • connectionKey

      public String connectionKey
      Key needed only in case one client is publishing this message on behalf of another client. The connectionKey will never be populated for messages received.

      Spec: TM2h

    • serial

      public String serial
      (TM2r) serial string – an opaque string that uniquely identifies the message.
    • version

      public MessageVersion version
      (TM2s) The latest version of the message, containing version-specific metadata.
    • action

      public MessageAction action
      (TM2j) action enum
    • annotations

      public MessageAnnotations annotations
      (TM2q) Annotations associated with this message.
  • Constructor Details

    • Message

      public Message()
      Default constructor
    • Message

      public Message(String name, Object data)
      Construct a Message object with an event name and payload.

      Spec: TM2

      Parameters:
      name - The event name.
      data - The message payload.
    • Message

      public Message(String name, Object data, String clientId)
      Construct a Message object with an event name, payload, and a unique client ID.

      Spec: TM2

      Parameters:
      name - The event name.
      data - The message payload.
      clientId - The client ID of the publisher of this message.
    • Message

      public Message(String name, Object data, MessageExtras extras)
      Construct a Message object with an event name, payload, and a extras.

      Spec: TM2

      Parameters:
      name - The event name.
      data - The message payload.
      extras - Extra information to be sent with this message.
    • Message

      public Message(String name, Object data, String clientId, MessageExtras extras)
      Construct a Message object with an event name, payload, extras, and a unique client ID.

      Spec: TM2

      Parameters:
      name - The event name.
      data - The message payload.
      clientId - The client ID of the publisher of this message.
      extras - Extra information to be sent with this message.
  • Method Details

    • toString

      public String toString()
      Generate a String summary of this Message
      Overrides:
      toString in class Object
      Returns:
      string
    • fromEncoded

      public static Message fromEncoded(com.google.gson.JsonObject messageJson, ChannelOptions channelOptions) throws MessageDecodeException
      A static factory method to create a Message object from a deserialized Message-like object encoded using Ably's wire protocol.

      Spec: TM3

      Parameters:
      messageJson - A Message-like deserialized object.
      channelOptions - A ChannelOptions object. If you have an encrypted channel, use this to allow the library to decrypt the data.
      Returns:
      A Message object.
      Throws:
      MessageDecodeException
    • fromEncoded

      public static Message fromEncoded(String messageJson, ChannelOptions channelOptions) throws MessageDecodeException
      A static factory method to create a Message object from a deserialized Message-like object encoded using Ably's wire protocol.

      Spec: TM3

      Parameters:
      messageJson - A Message-like deserialized object.
      channelOptions - A ChannelOptions object. If you have an encrypted channel, use this to allow the library to decrypt the data.
      Returns:
      A Message object.
      Throws:
      MessageDecodeException
    • fromEncodedArray

      public static Message[] fromEncodedArray(com.google.gson.JsonArray messageArray, ChannelOptions channelOptions) throws MessageDecodeException
      A static factory method to create an array of Message objects from an array of deserialized Message-like object encoded using Ably's wire protocol.

      Spec: TM3

      Parameters:
      messageArray - An array of Message-like deserialized objects.
      channelOptions - A ChannelOptions object. If you have an encrypted channel, use this to allow the library to decrypt the data.
      Returns:
      An array of Message objects.
      Throws:
      MessageDecodeException
    • fromEncodedArray

      public static Message[] fromEncodedArray(String messagesArray, ChannelOptions channelOptions) throws MessageDecodeException
      A static factory method to create an array of Message objects from an array of deserialized Message-like object encoded using Ably's wire protocol.

      Spec: TM3

      Parameters:
      messagesArray - An array of Message-like deserialized objects.
      channelOptions - A ChannelOptions object. If you have an encrypted channel, use this to allow the library to decrypt the data.
      Returns:
      An array of Message objects.
      Throws:
      MessageDecodeException
    • read

      protected void read(com.google.gson.JsonObject map) throws MessageDecodeException
      Description copied from class: BaseMessage
      Populate fields from JSON.
      Overrides:
      read in class BaseMessage
      Throws:
      MessageDecodeException