Interface Destination

  • All Superinterfaces:
    Shareable

    public interface Destination
    extends Shareable
    Represents a STOMP destination. Depending on the implementation, the message delivery is different. Queue are sending message to only one subscribers, while topics are broadcasting the message to all subscribers.

    Implementations must be thread-safe.

    Author:
    Clement Escoffier
    • Method Detail

      • destination

        String destination()
        Returns:
        the destination address.
      • unsubscribe

        boolean unsubscribe​(StompServerConnection connection,
                            Frame frame)
        Handles a un-subscription request to the current Destination.
        Parameters:
        connection - the connection
        frame - the UNSUBSCRIBE frame
        Returns:
        true if the un-subscription has been handled, false otherwise.
      • unsubscribeConnection

        Destination unsubscribeConnection​(StompServerConnection connection)
        Removes all subscriptions of the given connection
        Parameters:
        connection - the connection
        Returns:
        the current instance of Destination
      • ack

        boolean ack​(StompServerConnection connection,
                    Frame frame)
        Handles a ACK frame.
        Parameters:
        connection - the connection
        frame - the ACK frame
        Returns:
        true if the destination has handled the frame (meaning it has sent the message with id)
      • nack

        boolean nack​(StompServerConnection connection,
                     Frame frame)
        Handles a NACK frame.
        Parameters:
        connection - the connection
        frame - the NACK frame
        Returns:
        true if the destination has handled the frame (meaning it has sent the message with id)
      • getSubscriptions

        List<String> getSubscriptions​(StompServerConnection connection)
        Gets all subscription ids for the given destination hold by the given client
        Parameters:
        connection - the connection (client)
        Returns:
        the list of subscription id, empty if none
      • numberOfSubscriptions

        int numberOfSubscriptions()
        Gets the number of subscriptions attached to the current Destination.
        Returns:
        the number of subscriptions.
      • matches

        boolean matches​(String address)
        Checks whether or not the given address matches with the current destination.
        Parameters:
        address - the address
        Returns:
        true if it matches, false otherwise.