Class PresenceMessage

  • All Implemented Interfaces:
    java.lang.Cloneable

    public class PresenceMessage
    extends BaseMessage
    implements java.lang.Cloneable
    A class representing an individual presence update to be sent or received via the Ably Realtime service.
    • Constructor Detail

      • PresenceMessage

        public PresenceMessage()
        Default constructor
      • PresenceMessage

        public PresenceMessage​(PresenceMessage.Action action,
                               java.lang.String clientId)
        Construct a PresenceMessage from an Action and clientId
        Parameters:
        action -
        clientId -
      • PresenceMessage

        public PresenceMessage​(PresenceMessage.Action action,
                               java.lang.String clientId,
                               java.lang.Object data)
        Generic constructor
        Parameters:
        action -
        clientId -
        data -
    • Method Detail

      • toString

        public java.lang.String toString()
        Generate a String summary of this PresenceMessage
        Overrides:
        toString in class java.lang.Object
        Returns:
        string
      • clone

        public java.lang.Object clone()
        Overrides:
        clone in class java.lang.Object
      • fromEncoded

        public static PresenceMessage fromEncoded​(com.google.gson.JsonObject messageJsonObject,
                                                  ChannelOptions channelOptions)
                                           throws MessageDecodeException
        Decodes and decrypts a deserialized PresenceMessage-like object using the cipher in ChannelOptions. Any residual transforms that cannot be decoded or decrypted will be in the encoding property. Intended for users receiving messages from a source other than a REST or Realtime channel (for example a queue) to avoid having to parse the encoding string.

        Spec: TP4

        Parameters:
        messageJsonObject - The deserialized PresenceMessage-like object to decode and decrypt.
        channelOptions - A ChannelOptions object containing the cipher.
        Returns:
        A PresenceMessage object.
        Throws:
        MessageDecodeException
      • fromEncoded

        public static PresenceMessage fromEncoded​(java.lang.String messageJson,
                                                  ChannelOptions channelOptions)
                                           throws MessageDecodeException
        Decodes and decrypts a deserialized PresenceMessage-like object using the cipher in ChannelOptions. Any residual transforms that cannot be decoded or decrypted will be in the encoding property. Intended for users receiving messages from a source other than a REST or Realtime channel (for example a queue) to avoid having to parse the encoding string.

        Spec: TP4

        Parameters:
        messageJson - The deserialized PresenceMessage-like object to decode and decrypt.
        channelOptions - A ChannelOptions object containing the cipher.
        Returns:
        A PresenceMessage object.
        Throws:
        MessageDecodeException
      • fromEncodedArray

        public static PresenceMessage[] fromEncodedArray​(com.google.gson.JsonArray presenceMsgArray,
                                                         ChannelOptions channelOptions)
                                                  throws MessageDecodeException
        Decodes and decrypts an array of deserialized PresenceMessage-like object using the cipher in ChannelOptions. Any residual transforms that cannot be decoded or decrypted will be in the encoding property. Intended for users receiving messages from a source other than a REST or Realtime channel (for example a queue) to avoid having to parse the encoding string.

        Spec: TP4

        Parameters:
        presenceMsgArray - An array of deserialized PresenceMessage-like objects to decode and decrypt.
        channelOptions - A ChannelOptions object containing the cipher.
        Returns:
        An array of PresenceMessage object.
        Throws:
        MessageDecodeException
      • fromEncodedArray

        public static PresenceMessage[] fromEncodedArray​(java.lang.String presenceMsgArray,
                                                         ChannelOptions channelOptions)
                                                  throws MessageDecodeException
        Decodes and decrypts an array of deserialized PresenceMessage-like object using the cipher in ChannelOptions. Any residual transforms that cannot be decoded or decrypted will be in the encoding property. Intended for users receiving messages from a source other than a REST or Realtime channel (for example a queue) to avoid having to parse the encoding string.

        Spec: TP4

        Parameters:
        presenceMsgArray - An array of deserialized PresenceMessage-like objects to decode and decrypt.
        channelOptions - A ChannelOptions object containing the cipher.
        Returns:
        An array of PresenceMessage object.
        Throws:
        MessageDecodeException
      • memberKey

        public java.lang.String memberKey()
        Combines clientId and connectionId to ensure that multiple connected clients with an identical clientId are uniquely identifiable. A string function that returns the combined clientId and connectionId.

        Spec: TP3h

        Returns:
        A combination of clientId and connectionId.