Interface IPushSubscriptionInfo

All Known Implementing Classes:
PushSubscriptionInfoImpl

public interface IPushSubscriptionInfo
One stored subscription, as a listing shows it: whose, for what, on which device, through which transport, and when. The same members as a subscription entry of the wire contract (PUSH-WIRE-CONTRACT section 5.5).

Never key material. No endpoint, no p256dh or auth key, no FCM token and no IP address is reachable from this interface, so a listing can be shown, logged or handed to a listener without leaking what would let someone else send to the device.

Author:
Christopher Mindus
  • Method Summary

    Modifier and Type
    Method
    Description
    Gets the application ID, canonical as stored.
    long
    Gets the time the subscription was first stored.
    Gets the device UUID the subscription was registered from, the X-iizi header of the PN HTTP API.
    long
    Gets the time the device last contacted the PN HTTP API.
    Gets the topic.
    Gets the transport that reaches the device.
    Gets the user agent the device reported when it subscribed.
    long
    Gets the ID of the user the subscription belongs to.
    Gets the name of the user the subscription belongs to.
  • Method Details

    • getUserID

      long getUserID()
      Gets the ID of the user the subscription belongs to.
      Returns:
      The user ID, IZS.USERS.uid.
    • getUserName

      String getUserName()
      Gets the name of the user the subscription belongs to.
      Returns:
      The user name, never null.
    • getAppID

      String getAppID()
      Gets the application ID, canonical as stored.
      Returns:
      The application ID, * for the server itself; never null.
    • getTopic

      String getTopic()
      Gets the topic.
      Returns:
      The topic, the empty string for the application-level subscription; never null.
    • getDeviceUUID

      String getDeviceUUID()
      Gets the device UUID the subscription was registered from, the X-iizi header of the PN HTTP API.
      Returns:
      The canonical 36-character UUID, never null.
    • getTransport

      PushTransport getTransport()
      Gets the transport that reaches the device.
      Returns:
      The transport, never null.
    • getCreated

      long getCreated()
      Gets the time the subscription was first stored.
      Returns:
      Epoch milliseconds.
    • getLastSeen

      long getLastSeen()
      Gets the time the device last contacted the PN HTTP API.
      Returns:
      Epoch milliseconds.
    • getUserAgent

      String getUserAgent()
      Gets the user agent the device reported when it subscribed.
      Returns:
      The user agent text, never null, possibly empty.