Class UserDestinationResult

java.lang.Object
org.springframework.messaging.simp.user.UserDestinationResult

public class UserDestinationResult extends Object
Contains the result from parsing a "user" destination from a source message and translating it to target destinations (one per active user session).
Since:
4.0.2
Author:
Rossen Stoyanchev
See Also:
  • Constructor Details

    • UserDestinationResult

      public UserDestinationResult(String sourceDestination, Set<String> targetDestinations, String subscribeDestination, @Nullable String user)
    • UserDestinationResult

      public UserDestinationResult(String sourceDestination, Set<String> targetDestinations, String subscribeDestination, @Nullable String user, @Nullable Set<String> sessionIds)
      Additional constructor with the session id for each targetDestination.
      Since:
      6.1
  • Method Details

    • getSourceDestination

      public String getSourceDestination()
      The "user" destination from the source message. This may look like "/user/queue/position-updates" when subscribing or "/user/{username}/queue/position-updates" when sending a message.
      Returns:
      the "user" destination, never null.
    • getTargetDestinations

      public Set<String> getTargetDestinations()
      The target destinations that the source destination was translated to, one per active user session, e.g. "/queue/position-updates-useri9oqdfzo".
      Returns:
      the target destinations, never null but possibly an empty set if there are no active sessions for the user.
    • getSubscribeDestination

      public String getSubscribeDestination()
      The user destination in the form expected when a client subscribes, e.g. "/user/queue/position-updates".
      Returns:
      the subscribe form of the "user" destination, never null.
    • getUser

      @Nullable public String getUser()
      The user for this user destination.
      Returns:
      the user name or null if we have a session id only such as when the user is not authenticated; in such cases it is possible to use sessionId in place of a user name thus removing the need for a user-to-session lookup via SimpUserRegistry.
    • getSessionIds

      @Nullable public Set<String> getSessionIds()
      Return the session id for the targetDestination.
    • toString

      public String toString()
      Overrides:
      toString in class Object