soc.message
Class SOCMessageTemplate3s

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

public abstract class SOCMessageTemplate3s
extends SOCMessage

Template for per-game message types with 3 string parameters. The second and third parameters can be optional. You will have to write parseDataStr, because of its return type and because it's static.

Sample implementation: // format of s: REJECTCARDID sep game sep2 cardid sep2 cardname sep2 cardname2 public static SOCRejectCardID parseDataStr(String s) { String ga; // the game name String cid; // the card id String cname; // the card name, or null for unknown String cname2; // the duplicate card name, if any StringTokenizer st = new StringTokenizer(s, sep2); try { ga = st.nextToken(); cid = st.nextToken(); cname = st.nextToken(); cname2 = st.nextToken(); } catch (Exception e) { return null; } return new SOCRejectCardID(ga, cid, cname, cname2); }

Author:
Jeremy D Monin
See Also:
Serialized Form

Field Summary
protected  java.lang.String game
          Name of the game.
protected  java.lang.String p1
          First string parameter.
protected  java.lang.String p2
          Second, optional string parameter; null if missing.
protected  java.lang.String p3
          Third, optional string parameter; null if missing.
 
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 SOCMessageTemplate3s(int id, java.lang.String ga, java.lang.String p1, java.lang.String p2, java.lang.String p3)
          Create a new message.
 
Method Summary
 java.lang.String getGame()
           
 java.lang.String getParam1()
           
 java.lang.String getParam2()
           
 java.lang.String getParam3()
           
 java.lang.String toCmd()
          MESSAGETYPE sep game sep2 param1 sep2 param2 sep2 param3
static java.lang.String toCmd(int messageType, java.lang.String ga, java.lang.String param1, java.lang.String param2, java.lang.String param3)
          MESSAGETYPE sep game sep2 param1 sep2 param2 sep2 param3
 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.


p1

protected java.lang.String p1
First string parameter.


p2

protected java.lang.String p2
Second, optional string parameter; null if missing.


p3

protected java.lang.String p3
Third, optional string parameter; null if missing.

Constructor Detail

SOCMessageTemplate3s

protected SOCMessageTemplate3s(int id,
                               java.lang.String ga,
                               java.lang.String p1,
                               java.lang.String p2,
                               java.lang.String p3)
Create a new message. The second parameter is optional here; your subclass may decide to make it mandatory.

Parameters:
id - Message type ID
ga - Name of game this message is for
p1 - First parameter
p2 - Second parameter, or null
p3 - Third parameter, or null
Method Detail

getGame

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

getParam1

public java.lang.String getParam1()
Returns:
the first parameter

getParam2

public java.lang.String getParam2()
Returns:
the second parameter, or null

getParam3

public java.lang.String getParam3()
Returns:
the thid parameter, or null

toCmd

public java.lang.String toCmd()
MESSAGETYPE sep game sep2 param1 sep2 param2 sep2 param3

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 param1,
                                     java.lang.String param2,
                                     java.lang.String param3)
MESSAGETYPE sep game sep2 param1 sep2 param2 sep2 param3

Parameters:
messageType - The message type id
ga - the game name
param1 - The first parameter
param2 - The second parameter, or null
param3 - The third parameter, or 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