Class BaseMessage

  • All Implemented Interfaces:
    java.lang.Cloneable
    Direct Known Subclasses:
    Message, PresenceMessage

    public class BaseMessage
    extends java.lang.Object
    implements java.lang.Cloneable
    • Field Summary

      Fields 
      Modifier and Type Field Description
      java.lang.String clientId
      The client ID of the publisher of this message.
      java.lang.String connectionId
      The connection ID of the publisher of this message.
      java.lang.Object data
      The message payload, if provided.
      java.lang.String encoding
      This is typically empty, as all messages received from Ably are automatically decoded client-side using this value.
      java.lang.String id
      A Unique ID assigned by Ably to this message.
      long timestamp
      Timestamp of when the message was received by Ably, as milliseconds since the Unix epoch.
    • Constructor Summary

      Constructors 
      Constructor Description
      BaseMessage()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected int countFields()  
      void decode​(ChannelOptions opts)  
      void decode​(ChannelOptions opts, DecodingContext context)  
      void encode​(ChannelOptions opts)  
      void getDetails​(java.lang.StringBuilder builder)
      Generate a String summary of this BaseMessage.
      protected void read​(com.google.gson.JsonObject map)
      Populate fields from JSON.
      protected java.lang.Long readLong​(com.google.gson.JsonObject map, java.lang.String key)
      Read an optional numerical value.
      protected java.lang.String readString​(com.google.gson.JsonObject map, java.lang.String key)
      Read an optional textual value.
      static com.google.gson.JsonObject toJsonObject​(BaseMessage message)
      Base for gson serialisers.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • id

        public java.lang.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 java.lang.String clientId
        The client ID of the publisher of this message.

        Spec: RSL1g1, TM2b

      • connectionId

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

        Spec: TM2c

      • encoding

        public java.lang.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 java.lang.Object data
        The message payload, if provided.

        Spec: TM2d

    • Constructor Detail

      • BaseMessage

        public BaseMessage()
    • Method Detail

      • getDetails

        public void getDetails​(java.lang.StringBuilder builder)
        Generate a String summary of this BaseMessage.
      • toJsonObject

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

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

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

        protected int countFields()