soc.message
Class SOCMessageTemplate1s

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

public abstract class SOCMessageTemplate1s
extends SOCMessage
implements SOCMessageForGame

Template for per-game message types with 1 string parameter. Your class javadoc should explain the meaning of param1, so that you won't need to write a getter for it.

You will have to write parseDataStr, because of its return type and because it's static.

Sample implementation:

   public static SOCSitDown parseDataStr(final String s)
   {
       String ga; // the game name
       String pna; // the player name

       StringTokenizer st = new StringTokenizer(s, sep2);

       try
       {
           ga = st.nextToken();
           pna = st.nextToken();
       }
       catch (Exception e)
       {
           return null;
       }

        return new SOCSitDown(ga, pna);
   }

Since:
1.1.00
Author:
Jeremy D Monin <jeremy@nand.net>
See Also:
Serialized Form

Field Summary
protected  java.lang.String game
          Name of the game.
protected  java.lang.String p1
          Single string parameter.
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
protected SOCMessageTemplate1s(int id, java.lang.String ga, java.lang.String p)
          Create a new message.
 
Method Summary
 java.lang.String getGame()
          Name of game this message is for.
 java.lang.String getParam()
           
 java.lang.String toCmd()
          MESSAGETYPE sep game sep2 param
protected static java.lang.String toCmd(int messageType, java.lang.String ga, java.lang.String param)
          MESSAGETYPE sep game sep2 param
 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

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


p1

protected java.lang.String p1
Single string parameter.

Constructor Detail

SOCMessageTemplate1s

protected SOCMessageTemplate1s(int id,
                               java.lang.String ga,
                               java.lang.String p)
Create a new message.

Parameters:
id - Message type ID
ga - Name of game this message is for
p - Parameter
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 name of the game
See Also:
SOCMessage.GAME_NONE

getParam

public java.lang.String getParam()
Returns:
the single parameter

toCmd

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

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

toCmd

protected static java.lang.String toCmd(int messageType,
                                        java.lang.String ga,
                                        java.lang.String param)
MESSAGETYPE sep game sep2 param

Parameters:
messageType - The message type id
ga - the game name
param - The parameter
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