soc.message
Class SOCRobotJoinGameRequest

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

public class SOCRobotJoinGameRequest
extends SOCMessage
implements SOCMessageForGame

This message means that the server is asking this robot client to join a game. The bot should record the game options (if any) and respond with JOINGAME, the message sent by human players to request joining a game.

In 1.1.07, added optional parameter: game options. Because this is sent only to robots, and robots' versions always match the server version, we don't need to worry about backwards compatibility.

Before 2.0.00, this class was called SOCJoinGameRequest; renamed to clarify versus SOCJoinGame.

Author:
Robert S Thomas
See Also:
SOCJoinGameAuth, Serialized Form

Field Summary
private  java.lang.String game
          Name of game
private  java.util.Map<java.lang.String,SOCGameOption> opts
          Game options, or null
private  int playerNumber
          Where the robot should sit
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
SOCRobotJoinGameRequest(java.lang.String ga, int pn, java.util.Map<java.lang.String,SOCGameOption> opts)
          Create a RobotJoinGameRequest message.
 
Method Summary
 java.lang.String getGame()
          Name of game this message is for.
 java.util.Map<java.lang.String,SOCGameOption> getOptions()
           
 int getPlayerNumber()
           
static SOCRobotJoinGameRequest parseDataStr(java.lang.String s)
          Parse the command String into a RobotJoinGameRequest message
 java.lang.String toCmd()
          ROBOTJOINGAMEREQUEST sep game sep2 playerNumber
static java.lang.String toCmd(java.lang.String ga, int pn, java.util.Map<java.lang.String,SOCGameOption> opts)
          ROBOTJOINGAMEREQUEST sep game sep2 playerNumber sep2 optionstring
 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
Where the robot should sit


opts

private java.util.Map<java.lang.String,SOCGameOption> opts
Game options, or null

Since:
1.1.07
Constructor Detail

SOCRobotJoinGameRequest

public SOCRobotJoinGameRequest(java.lang.String ga,
                               int pn,
                               java.util.Map<java.lang.String,SOCGameOption> opts)
Create a RobotJoinGameRequest message.

Parameters:
ga - name of game
pn - the seat number
opts - game options, or null
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 game name
See Also:
SOCMessage.GAME_NONE

getPlayerNumber

public int getPlayerNumber()
Returns:
the player seat number

getOptions

public java.util.Map<java.lang.String,SOCGameOption> getOptions()
Returns:
game options, or null
Since:
1.1.07

toCmd

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

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

toCmd

public static java.lang.String toCmd(java.lang.String ga,
                                     int pn,
                                     java.util.Map<java.lang.String,SOCGameOption> opts)
ROBOTJOINGAMEREQUEST sep game sep2 playerNumber sep2 optionstring

Parameters:
ga - the game name
Returns:
the command string

parseDataStr

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

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