soc.message
Class SOCLeaveGame

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

public class SOCLeaveGame
extends SOCMessage
implements SOCMessageForGame

This message means that someone is leaving a game. Sent from leaving client to server (if leaving cleanly), then sent from server out to all clients in game.

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  java.lang.String host
          Host name of server hosting game, when sent from client.
private  java.lang.String nickname
          Nickname of the leaving member
private static long serialVersionUID
           
 
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
SOCLeaveGame(java.lang.String nn, java.lang.String hn, java.lang.String ga)
          Create a LeaveGame message.
 
Method Summary
 java.lang.String getGame()
          Name of game this message is for.
 java.lang.String getHost()
          Get the host name of the server hosting game, when sent from client.
 java.lang.String getNickname()
           
static SOCLeaveGame parseDataStr(java.lang.String s)
          Parse the command String into a Leave message
 java.lang.String toCmd()
          LEAVEGAME sep nickname sep2 host sep2 game
static java.lang.String toCmd(java.lang.String nn, java.lang.String hn, java.lang.String ga)
          LEAVEGAME sep nickname sep2 host sep2 game
 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

nickname

private java.lang.String nickname
Nickname of the leaving member


game

private java.lang.String game
Name of game


host

private java.lang.String host
Host name of server hosting game, when sent from client. Unused ("-") when sent from server.

Constructor Detail

SOCLeaveGame

public SOCLeaveGame(java.lang.String nn,
                    java.lang.String hn,
                    java.lang.String ga)
Create a LeaveGame message.

Parameters:
nn - nickname
hn - host name, or "-" if sending from server to all players. (Length 0 would fail parseDataStr(String) at the receiver)
ga - name of game
Method Detail

getNickname

public java.lang.String getNickname()
Returns:
the nickname

getHost

public java.lang.String getHost()
Get the host name of the server hosting game, when sent from client. Unused ("-") when sent from server.

Returns:
the host name, or "-"

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 game name
See Also:
SOCMessage.GAME_NONE

toCmd

public java.lang.String toCmd()
LEAVEGAME sep nickname sep2 host sep2 game

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

toCmd

public static java.lang.String toCmd(java.lang.String nn,
                                     java.lang.String hn,
                                     java.lang.String ga)
LEAVEGAME sep nickname sep2 host sep2 game

Parameters:
nn - the neckname
hn - the host name
ga - the name of the game
Returns:
the command string

parseDataStr

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

Parameters:
s - the String to parse
Returns:
a LeaveGame 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