soc.message
Class SOCJoinGame

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

public class SOCJoinGame
extends SOCMessageTemplateJoinGame

This message is used to join any existing game (with or without game options). It can also be a client asking to create a game with no game options. Server responds to client's request with JOINGAMEAUTH and sends JOINGAME to all players/observers of the game (including client).

To request a new game with game options, send NEWGAMEWITHOPTIONSREQUEST instead.

Once the client has successfully joined or created a game or channel, the password field can be left blank in later join/create requests. All server versions ignore the password field after a successful request.

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 static long serialVersionUID
           
 
Fields inherited from class soc.message.SOCMessageTemplateJoinGame
game, host, nickname, NULLPASS, password
 
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
SOCJoinGame(java.lang.String nn, java.lang.String pw, java.lang.String hn, java.lang.String ga)
          Create a Join Game message.
 
Method Summary
static SOCJoinGame parseDataStr(java.lang.String s)
          Parse the command String into a JoinGame message
 java.lang.String toCmd()
          JOINGAME sep nickname sep2 password sep2 host sep2 game
static java.lang.String toCmd(java.lang.String nn, java.lang.String pw, java.lang.String hn, java.lang.String ga)
          JOINGAME sep nickname sep2 password sep2 host sep2 game
 java.lang.String toString()
          Simple human-readable representation, used for debug purposes.
 
Methods inherited from class soc.message.SOCMessageTemplateJoinGame
getGame, getHost, getNickname, getPassword, toString
 
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
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

SOCJoinGame

public SOCJoinGame(java.lang.String nn,
                   java.lang.String pw,
                   java.lang.String hn,
                   java.lang.String ga)
Create a Join Game message.

Parameters:
nn - nickname
pw - optional password, or "" if none
hn - server host name to which client is connecting
ga - name of the game
Method Detail

toCmd

public java.lang.String toCmd()
JOINGAME sep nickname sep2 password 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 pw,
                                     java.lang.String hn,
                                     java.lang.String ga)
JOINGAME sep nickname sep2 password sep2 host sep2 game

Parameters:
nn - the nickname
pw - the optional password, or "" if none
hn - the server host name to which client is connecting
ga - the game name
Returns:
the command string

parseDataStr

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

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