soc.message
Class SOCGameMembers

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

public class SOCGameMembers
extends SOCMessage
implements SOCMessageForGame

This message lists all the members of a game. The group of messages sent by server in response to JOINGAME ends with GAMEMEMBERS, SETTURN and GAMESTATE, and GAMEMEMBERS thus tells the client that the server's ready for its input. Robots use GAMEMEMBERS as their cue to sit down at the game, if they've been asked to sit.

Author:
Robert S Thomas
See Also:
Serialized Form

Field Summary
private  java.lang.String game
          Name of game
private  java.util.Vector<java.lang.String> members
          List of members
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
SOCGameMembers(java.lang.String ga, java.util.Vector<java.lang.String> ml)
          Create a GameMembers message.
 
Method Summary
 java.lang.String getGame()
          Name of game this message is for.
 java.util.Vector<java.lang.String> getMembers()
           
static SOCGameMembers parseDataStr(java.lang.String s)
          Parse the command String into a Members message
 java.lang.String toCmd()
          GAMEMEMBERS sep game sep2 members
static java.lang.String toCmd(java.lang.String ga, java.util.Vector<?> ml)
          GAMEMEMBERS sep game sep2 members
 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

members

private java.util.Vector<java.lang.String> members
List of members


game

private java.lang.String game
Name of game

Constructor Detail

SOCGameMembers

public SOCGameMembers(java.lang.String ga,
                      java.util.Vector<java.lang.String> ml)
Create a GameMembers message.

Parameters:
ga - name of game
ml - list of members
Method Detail

getMembers

public java.util.Vector<java.lang.String> getMembers()
Returns:
the list of member names; each element is a String with the member's nickname

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()
GAMEMEMBERS sep game sep2 members

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

toCmd

public static java.lang.String toCmd(java.lang.String ga,
                                     java.util.Vector<?> ml)
GAMEMEMBERS sep game sep2 members

Used from instance method toCmd() with Strings, and from other callers with StringConnections for convenience.

Parameters:
ga - the game name
ml - the list of members (String or StringConnection)
Returns:
the command string

parseDataStr

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

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