sfs2x.client.requests
Class ChangeRoomPasswordStateRequest

java.lang.Object
  extended by sfs2x.client.requests.BaseRequest
      extended by sfs2x.client.requests.ChangeRoomPasswordStateRequest
All Implemented Interfaces:
sfs2x.client.requests.IRequest

public class ChangeRoomPasswordStateRequest
extends sfs2x.client.requests.BaseRequest

Changes the password of a Room. This request not only changes the password of a Room, but also its "password state", which indicates if the Room is password protected or not.

If the operation is successful, the roomPasswordStateChange event is dispatched to all the users who subscribed the Group to which the target Room belongs, including the requester user himself. If the user is not the creator (owner) of the Room, or if the Room was configured so that password changing is not allowed (see the RoomSettings.permissions parameter), the roomPasswordStateChangeError event if fired. An administrator or moderator can override the first constrain (he is not requested to be the Room's owner).

Example
The following example changes the password of an existing Room:

private void someMethod() { sfs.addEventListener(SFSEvent.ROOM_PASSWORD_STATE_CHANGE, new IEventListener() { public void dispatch(BaseEvent evt) throws SFSException { System.out.println("The password of Room " + ((Room)evt.getArguments().get("room")).getName() + " was changed successfully"); } });

sfs.addEventListener(SFSEvent.ROOM_PASSWORD_STATE_CHANGE_ERROR, new IEventListener() { public void dispatch(BaseEvent evt) throws SFSException { System.out.println("Room password change failed: " + evt.getArguments().get("errorMessage")); } });

Room theRoom = sfs.getRoomByName("Gonzo's Room");

// Resize the Room so that it allows a maximum of 100 users and zero spectators sfs.send(new ChangeRoomPasswordStateRequest(theRoom, "mammamia")); }

See Also:
SFSEvent.ROOM_PASSWORD_STATE_CHANGE, SFSEvent.ROOM_PASSWORD_STATE_CHANGE_ERROR, RoomSettings.getPermissions()

Field Summary
static java.lang.String KEY_PASS
          *Private*
static java.lang.String KEY_ROOM
          *Private*
 
Fields inherited from class sfs2x.client.requests.BaseRequest
AddBuddy, AdminMessage, AutoJoin, BanUser, BlockBuddy, CallExtension, ChangeRoomCapacity, ChangeRoomName, ChangeRoomPassword, CreateRoom, CreateSFSGame, FindRooms, FindUsers, GenericMessage, GetRoomList, GoOnline, Handshake, InitBuddyList, InvitationReply, InviteUser, JoinRoom, KEY_ERROR_CODE, KEY_ERROR_PARAMS, KickUser, LeaveRoom, Login, Logout, ManualDisconnection, ModeratorMessage, ObjectMessage, PingPong, PlayerToSpectator, PrivateMessage, PublicMessage, QuickJoinGame, RemoveBuddy, SetBuddyVariables, SetRoomVariables, SetUserVariables, SpectatorToPlayer, SubscribeRoomGroup, UnsubscribeRoomGroup
 
Constructor Summary
ChangeRoomPasswordStateRequest(Room room, java.lang.String newPass)
          Creates a new ChangeRoomPasswordStateRequest instance.
 
Method Summary
 void execute(SmartFox sfs)
          *Private*
 void validate(SmartFox sfs)
          *Private*
 
Methods inherited from class sfs2x.client.requests.BaseRequest
getId, getMessage, getTargetController, isEncrypted, setEncrypted, setId, setTargetController
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

KEY_ROOM

public static final java.lang.String KEY_ROOM
*Private*

See Also:
Constant Field Values

KEY_PASS

public static final java.lang.String KEY_PASS
*Private*

See Also:
Constant Field Values
Constructor Detail

ChangeRoomPasswordStateRequest

public ChangeRoomPasswordStateRequest(Room room,
                                      java.lang.String newPass)
Creates a new ChangeRoomPasswordStateRequest instance. The instance must be passed to the SmartFox.send() method for the request to be performed.

Parameters:
room - The Room object corresponding to the Room whose password should be changed.
newPass - The new password to be assigned to the Room; an empty string or the null value can be passed to remove the Room's password.
See Also:
SmartFox.send(sfs2x.client.requests.IRequest)
Method Detail

validate

public void validate(SmartFox sfs)
              throws sfs2x.client.exceptions.SFSValidationException
*Private*

Throws:
sfs2x.client.exceptions.SFSValidationException

execute

public void execute(SmartFox sfs)
*Private*