soc.message
Class SOCSetSeatLock

java.lang.Object
  extended by soc.message.SOCMessage
      extended by soc.message.SOCSetSeatLock
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, SOCMessageForGame

public class SOCSetSeatLock
extends SOCMessage
implements SOCMessageForGame

This message sets the lock state of a seat. See SOCGame.SeatLockState for state details.

For player consistency, seat locks can't be changed while SOCGame.getResetVoteActive() in server version 1.1.19 and higher.

Although this is a game-specific message, it's handled by SOCServer instead of a GameHandler.

Author:
Robert S. Thomas
See Also:
Serialized Form

Field Summary
private  java.lang.String game
          Name of game
private  int playerNumber
          Change lock state of this seat number
private static long serialVersionUID
           
private  SOCGame.SeatLockState state
          The state of the lock.
 
Fields inherited from class soc.message.SOCMessage
ACCEPTOFFER, ADMINPING, ADMINRESET, AUTHREQUEST, BANKTRADE, BCASTTEXTMSG, BOARDLAYOUT, BOARDLAYOUT2, BOARDSPECIALEDGE, BUILDREQUEST, BUYCARDREQUEST, CANCELBUILDREQUEST, CHANGEFACE, CHANNELS, CHOOSEPLAYER, CHOOSEPLAYERREQUEST, CLEAROFFER, CLEARTRADEMSG, CREATEACCOUNT, DEBUGFREEPLACE, DELETECHANNEL, DELETEGAME, DEVCARDACTION, DEVCARDCOUNT, DICERESULT, DICERESULTRESOURCES, DISCARD, DISCARDREQUEST, DISCOVERYPICK, ENDTURN, FIRSTPLAYER, GAME_NONE, GAMEMEMBERS, GAMEOPTIONGETDEFAULTS, GAMEOPTIONGETINFOS, GAMEOPTIONINFO, GAMES, GAMESERVERTEXT, GAMESTATE, GAMESTATS, GAMESWITHOPTIONS, GAMETEXTMSG, IMAROBOT, INVENTORYITEMACTION, JOIN, JOINAUTH, JOINGAME, JOINGAMEAUTH, LARGESTARMY, LASTSETTLEMENT, LEAVE, LEAVEALL, LEAVEGAME, LEGALEDGES, LOCALIZEDSTRINGS, LONGESTROAD, MAKEOFFER, MEMBERS, messageType, MONOPOLYPICK, MOVEPIECE, MOVEPIECEREQUEST, MOVEROBBER, NEWCHANNEL, NEWGAME, NEWGAMEWITHOPTIONS, NEWGAMEWITHOPTIONSREQUEST, NULLMESSAGE, PICKRESOURCES, PICKRESOURCESREQUEST, PIECEVALUE, PLAYDEVCARDREQUEST, PLAYERELEMENT, PLAYERELEMENTS, PLAYERSTATS, POTENTIALSETTLEMENTS, PUTPIECE, REJECTCONNECTION, REJECTOFFER, REMOVEPIECE, RESETBOARDAUTH, RESETBOARDREJECT, RESETBOARDREQUEST, RESETBOARDVOTE, RESETBOARDVOTEREQUEST, RESOURCECOUNT, REVEALFOGHEX, ROBOTDISMISS, ROBOTJOINGAMEREQUEST, ROLLDICE, ROLLDICEPROMPT, ROLLDICEREQUEST, SCENARIOINFO, sep, sep_char, sep2, sep2_char, SERVERPING, SETPLAYEDDEVCARD, SETSEATLOCK, SETSPECIALITEM, SETTURN, SETUPDONE, SIMPLEACTION, SIMPLEREQUEST, SITDOWN, STARTGAME, STATUSMESSAGE, SVPTEXTMSG, TEXTMSG, TIMINGPING, TURN, UPDATEROBOTPARAMS, VERSION
 
Constructor Summary
SOCSetSeatLock(java.lang.String ga, int pn, SOCGame.SeatLockState st)
          Create a SetSeatLock message.
 
Method Summary
 java.lang.String getGame()
          Name of game this message is for.
 SOCGame.SeatLockState getLockState()
           
 int getPlayerNumber()
           
static SOCSetSeatLock parseDataStr(java.lang.String s)
          Parse the command String into a SetSeatLock message
 java.lang.String toCmd()
          SETSEATLOCK sep game sep2 playerNumber sep2 state
static java.lang.String toCmd(java.lang.String ga, int pn, SOCGame.SeatLockState st)
          SETSEATLOCK sep game sep2 playerNumber sep2 state
 java.lang.String toString()
          Simple human-readable representation, used for debug purposes.
 
Methods inherited from class soc.message.SOCMessage
arrayIntoStringBuf, enumIntoStringBuf, getClassNameShort, getMaximumVersion, getMinimumVersion, getType, isSingleLineAndSafe, isSingleLineAndSafe, toMsg
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface soc.message.SOCMessageForGame
getType
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

game

private java.lang.String game
Name of game


playerNumber

private int playerNumber
Change lock state of this seat number


state

private SOCGame.SeatLockState state
The state of the lock. Before v2.0.00, this was boolean (LOCKED, UNLOCKED, did not have SOCGame.SeatLockState.CLEAR_ON_RESET).

Constructor Detail

SOCSetSeatLock

public SOCSetSeatLock(java.lang.String ga,
                      int pn,
                      SOCGame.SeatLockState st)
Create a SetSeatLock message.

Parameters:
ga - the name of the game
pn - the number of the changing player
st - the state of the lock; remember that versions before v2.0.00 won't recognize SOCGame.SeatLockState.CLEAR_ON_RESET.
Method Detail

getGame

public java.lang.String getGame()
Description copied from interface: SOCMessageForGame
Name of game this message is for. Must not be null if message is in per-game structures or code.

At the server, the message treater dispatches incoming SOCMessageForGames based on their getGame():

Specified by:
getGame in interface SOCMessageForGame
Returns:
the name of the game
See Also:
SOCMessage.GAME_NONE

getPlayerNumber

public int getPlayerNumber()
Returns:
the number of changing player

getLockState

public SOCGame.SeatLockState getLockState()
Returns:
the state of the lock

toCmd

public java.lang.String toCmd()
SETSEATLOCK sep game sep2 playerNumber sep2 state

Specified by:
toCmd in class SOCMessage
Returns:
the command string

toCmd

public static java.lang.String toCmd(java.lang.String ga,
                                     int pn,
                                     SOCGame.SeatLockState st)
SETSEATLOCK sep game sep2 playerNumber sep2 state

Parameters:
ga - the name of the game
pn - the number of the changing player
st - the state of the lock
Returns:
the command string. For backwards compatibility, seatLockState will be "true" for LOCKED, "false" for UNLOCKED, or "clear" for CLEAR_ON_RESET. Versions before v2.0.00 won't recognize "clear".

parseDataStr

public static SOCSetSeatLock parseDataStr(java.lang.String s)
Parse the command String into a SetSeatLock message

Parameters:
s - the String to parse
Returns:
a SetSeatLock message, or null of the data is garbled

toString

public java.lang.String toString()
Description copied from class: SOCMessage
Simple human-readable representation, used for debug purposes.

Specified by:
toString in class SOCMessage
Returns:
a human readable form of the message