Class LeaveRoomRequest

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

    public class LeaveRoomRequest
    extends BaseRequest
    Leaves one of the Rooms joined by the current user.

    Depending on the Room configuration defined upon its creation (see the RoomSettings.events setting), when the current user leaves it, the following events might be fired: userExitRoom, dispatched to all the users inside the Room (including the current user then) to warn them that a user has gone away; userCountChange, dispatched to all clients which subscribed the Group to which the Room belongs, to update the count of users inside the Room.

    Example
    The following example makes the user leave the currently joined Room and handles the respective event:

     private void someMethod() {
         sfs.addEventListener(SFSEvent.USER_EXIT_ROOM, new IEventListener() {
             public void dispatch(BaseEvent evt) throws SFSException {
                 Room room = (Room)evt.getArguments().get("room");
                 User user = (User)evt.getArguments().get("user");
                 
                 System.out.println("User " + user.getName() + " just left Room " + room.getName());
             }
         });
         
         // Leave the last joined Room
         sfs.send(new LeaveRoomRequest());
     }
     
    See Also:
    SFSEvent.USER_EXIT_ROOM, SFSEvent.USER_COUNT_CHANGE, RoomSettings.getEvents()
    • Field Detail

      • KEY_ROOM_ID

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

      • LeaveRoomRequest

        public LeaveRoomRequest​(Room theRoom)
        Creates a new LeaveRoomRequest instance. The instance must be passed to the SmartFox.send() method for the request to be performed.
        Parameters:
        theRoom - The Room object corresponding to the Room that the current user must leave. If null, the last Room joined by the user is left.
        See Also:
        SmartFox.send(sfs2x.client.requests.IRequest), Room
    • 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 *