Class SubscribeRoomGroupRequest

  • All Implemented Interfaces:
    sfs2x.client.requests.IRequest

    public class SubscribeRoomGroupRequest
    extends BaseRequest
    Subscribes the current user to Room-related events occurring in the specified Group. This allows the user to be notified of specific Room events even if he didn't join the Room from which the events originated, provided the Room belongs to the subscribed Group.

    If the subscription operation is successful, the current user receives a roomGroupSubscribe event; otherwise the roomGroupSubscribeError event is fired.

    Example
    The following example makes the current user subscribe a Group:

     private void someMethod() {
         sfs.addEventListener(SFSEvent.ROOM_GROUP_SUBSCRIBE, new IEventListener() {
             public void dispatch(BaseEvent evt) throws SFSException {
                 System.out.println("Group subscribed. The following rooms are now accessible: " + evt.getArguments().get("newRooms"));
             }
         });
         sfs.addEventListener(SFSEvent.ROOM_GROUP_SUBSCRIBE_ERROR, new IEventListener() {
             public void dispatch(BaseEvent evt) throws SFSException {
                 System.out.println("Group subscription failed: " + evt.getArguments().get("errorMessage"));
             }
         });
         
         // Subscribe the "cardGames" group
         sfs.send(new SubscribeRoomGroupRequest("cardGames"));
     }
     
    See Also:
    SFSEvent.ROOM_GROUP_SUBSCRIBE, SFSEvent.ROOM_GROUP_SUBSCRIBE_ERROR, UnsubscribeRoomGroupRequest
    • Field Detail

      • KEY_GROUP_ID

        public static final java.lang.String KEY_GROUP_ID
        * API internal usage only *
        See Also:
        Constant Field Values
      • KEY_ROOM_LIST

        public static final java.lang.String KEY_ROOM_LIST
        * API internal usage only *
        See Also:
        Constant Field Values
    • Constructor Detail

      • SubscribeRoomGroupRequest

        public SubscribeRoomGroupRequest​(java.lang.String groupId)
        Creates a new SubscribeRoomGroupRequest instance. The instance must be passed to the SmartFox.send() method for the request to be performed.
        Parameters:
        groupId - The name of the Room Group to subscribe.
        See Also:
        SmartFox.send(sfs2x.client.requests.IRequest), Room.getGroupId()
    • Method Detail

      • validate

        public void validate​(ISmartFox sfs)
                      throws sfs2x.client.exceptions.SFSValidationException
        * API internal usage only *
        Throws:
        sfs2x.client.exceptions.SFSValidationException
      • execute

        public void execute​(ISmartFox sfs)
        * API internal usage only *