Class BaseMessage

java.lang.Object
io.ably.lib.types.BaseMessage
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
Message, PresenceMessage

public class BaseMessage extends Object implements Cloneable
  • Field Details

    • id

      public String id
      A Unique ID assigned by Ably to this message.

      Spec: TM2a

    • timestamp

      public long timestamp
      Timestamp of when the message was received by Ably, as milliseconds since the Unix epoch.

      Spec: TM2f

    • clientId

      public String clientId
      The client ID of the publisher of this message.

      Spec: RSL1g1, TM2b

    • connectionId

      public String connectionId
      The connection ID of the publisher of this message.

      Spec: TM2c

    • encoding

      public String encoding
      This is typically empty, as all messages received from Ably are automatically decoded client-side using this value. However, if the message encoding cannot be processed, this attribute contains the remaining transformations not applied to the data payload.

      Spec: TM2e

    • data

      public Object data
      The message payload, if provided.

      Spec: TM2d

  • Constructor Details

    • BaseMessage

      public BaseMessage()
  • Method Details

    • getDetails

      public void getDetails(StringBuilder builder)
      Generate a String summary of this BaseMessage.
    • decode

      public void decode(ChannelOptions opts) throws MessageDecodeException
      Throws:
      MessageDecodeException
    • decode

      public void decode(ChannelOptions opts, DecodingContext context) throws MessageDecodeException
      Throws:
      MessageDecodeException
    • encode

      public void encode(ChannelOptions opts) throws AblyException
      Throws:
      AblyException
    • toJsonObject

      public static com.google.gson.JsonObject toJsonObject(BaseMessage message)
      Base for gson serialisers.
    • read

      protected void read(com.google.gson.JsonObject map) throws MessageDecodeException
      Populate fields from JSON.
      Throws:
      MessageDecodeException
    • readString

      protected String readString(com.google.gson.JsonObject map, String key)
      Read an optional textual value.
      Returns:
      The value, or null if the key was not present in the map.
      Throws:
      ClassCastException - if an element exists for that key and that element is not a JsonPrimitive or is not a valid string value.
    • readLong

      protected Long readLong(com.google.gson.JsonObject map, String key)
      Read an optional numerical value.
      Returns:
      The value, or null if the key was not present in the map.
      Throws:
      ClassCastException - if an element exists for that key and that element is not a JsonPrimitive or is not a valid long value.
    • readInt

      protected Integer readInt(com.google.gson.JsonObject map, String key)
      Read an optional numerical value.
      Returns:
      The value, or null if the key was not present in the map.
      Throws:
      ClassCastException - if an element exists for that key and that element is not a JsonPrimitive or is not a valid int value.
    • countFields

      protected int countFields()