soc.message
Class SOCMessageMulti

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

public abstract class SOCMessageMulti
extends SOCMessage

Message containing multiple parameters, each of which may have sub-fields.
Format: MESSAGETYPE sep param1 sep param2 sep param3 sep ...
Example format of a param: field1 SEP2 field2 SEP2 field3

MessageMultis are treated specially in SOCMessage.toMsg(String). Multiple SOCMessage.sep_char are allowed, separating each parameter. This allows use of SOCMessage.sep2_char within the parameter to separate its sub-fields.

The required static parseDataStr method is given an array of one or more Strings, each of which is a parameter: public static SOCMessageType parseDataStr(String[] s)

If no parameters were seen, s will be null.

The section you add to SOCMessage.toMsg(String) will look like: case POTENTIALSETTLEMENTS: if (multiData == null) multiData = toSingleElemArray(data); return SOCPotentialSettlements.parseDataStr(multiData);

Author:
Jeremy D Monin
See Also:
SOCMessageTemplateMi, SOCMessageTemplateMs, Serialized Form

Field Summary
 
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
SOCMessageMulti()
           
 
Methods inherited from class soc.message.SOCMessage
getMaximumVersion, getMinimumVersion, getType, toCmd, toMsg, toSingleElemArray, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SOCMessageMulti

public SOCMessageMulti()