soc.message
Class SOCMessageTemplateMs

java.lang.Object
  extended bysoc.message.SOCMessage
      extended bysoc.message.SOCMessageMulti
          extended bysoc.message.SOCMessageTemplateMs
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable

public abstract class SOCMessageTemplateMs
extends SOCMessageMulti

Template for per-game message types with variable number of string parameters. You will have to write parseDataStr, because of its return type and because it's static.

Sample implementation: // format of s: POTENTIALSETTLEMENTS sep game sep2 settlement {sep2 settlement}*... // Must have at least game + 1 settlement param. public static SOCPotentialSettlements parseDataStr(String[] s) { String ga; // the game name String[] sett; // the settlements if ((s == null) || (s.length < 2)) return null; // must have at least game + 1 settlement param ga = s[0]; sett = new String[s.length - 1]; for (int i = 1; i < s.length; ++i) sett[i-1] = s[i]; return new SOCPotentialSettlements(ga, sett); }

Author:
Jeremy D Monin
See Also:
Serialized Form

Field Summary
protected  java.lang.String game
          Name of the game.
protected  java.lang.String[] pa
          Array of string parameters, or null if none.
 
Fields inherited from class soc.message.SOCMessage
ACCEPTOFFER, ADMINPING, ADMINRESET, BANKTRADE, BCASTTEXTMSG, BOARDLAYOUT, BUILDREQUEST, BUYCARDREQUEST, CANCELBUILDREQUEST, CHANGEFACE, CHANNELS, CHOOSEPLAYER, CHOOSEPLAYERREQUEST, CLEAROFFER, CLEARTRADEMSG, CREATEACCOUNT, DELETECHANNEL, DELETEGAME, DEVCARD, DEVCARDCOUNT, DICERESULT, DISCARD, DISCARDREQUEST, DISCOVERYPICK, ENDTURN, FIRSTPLAYER, GAMEMEMBERS, GAMES, GAMESTATE, GAMESTATS, GAMETEXTMSG, IMAROBOT, JOIN, JOINAUTH, JOINGAME, JOINGAMEAUTH, JOINGAMEREQUEST, LARGESTARMY, LASTSETTLEMENT, LEAVE, LEAVEALL, LEAVEGAME, LONGESTROAD, MAKEOFFER, MEMBERS, messageType, MONOPOLYPICK, MOVEROBBER, NEWCHANNEL, NEWGAME, NULLMESSAGE, PLAYDEVCARDREQUEST, PLAYERELEMENT, POTENTIALSETTLEMENTS, PUTPIECE, REJECTCONNECTION, REJECTOFFER, RESETBOARDAUTH, RESETBOARDREJECT, RESETBOARDREQUEST, RESETBOARDVOTE, RESETBOARDVOTEREQUEST, RESOURCECOUNT, ROBOTDISMISS, ROLLDICE, ROLLDICEPROMPT, ROLLDICEREQUEST, sep, sep_char, sep2, sep2_char, SERVERPING, SETPLAYEDDEVCARD, SETSEATLOCK, SETTURN, SETUPDONE, SITDOWN, STARTGAME, STATUSMESSAGE, TEXTMSG, TURN, UPDATEROBOTPARAMS, VERSION
 
Constructor Summary
protected SOCMessageTemplateMs(int id, java.lang.String ga, java.lang.String[] parr)
          Create a new multi-message with string parameters.
 
Method Summary
 java.lang.String getGame()
           
 java.lang.String[] getParams()
           
 java.lang.String toCmd()
          MESSAGETYPE sep game sep2 param
static java.lang.String toCmd(int messageType, java.lang.String ga, java.lang.String[] parr)
          MESSAGETYPE sep game sep param1 sep param2 sep ...
 java.lang.String toString()
          Simple human-readable representation, used for debug purposes.
 
Methods inherited from class soc.message.SOCMessage
getMaximumVersion, getMinimumVersion, getType, toMsg, toSingleElemArray
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

game

protected java.lang.String game
Name of the game.


pa

protected java.lang.String[] pa
Array of string parameters, or null if none.

Constructor Detail

SOCMessageTemplateMs

protected SOCMessageTemplateMs(int id,
                               java.lang.String ga,
                               java.lang.String[] parr)
Create a new multi-message with string parameters.

Parameters:
id - Message type ID
ga - Name of game this message is for
parr - Parameters, or null if none
Method Detail

getGame

public java.lang.String getGame()
Returns:
the name of the game

getParams

public java.lang.String[] getParams()
Returns:
the parameters, or null if none

toCmd

public java.lang.String toCmd()
MESSAGETYPE sep game sep2 param

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

toCmd

public static java.lang.String toCmd(int messageType,
                                     java.lang.String ga,
                                     java.lang.String[] parr)
MESSAGETYPE sep game sep param1 sep param2 sep ...

Parameters:
messageType - The message type id
ga - the game name
parr - The parameter array, or null if no additional parameters; elements of parr can be null.
Returns:
the command string

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