soc.message
Class SOCGameServerText

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

public class SOCGameServerText
extends SOCMessage
implements SOCMessageForGame

This message contains a text message or announcement from the server for a SoC game. Sent by server. Player chat text is sent as SOCGameTextMsg instead.

Occasionally, game text is sent with additional information via SOCSVPTextMessage, instead of using this message type. Some simple actions are sent by the server with SOCSimpleAction or SOCSimpleRequest instead of text.

This class was introduced in version 2.0.00; earlier versions of the server and client use SOCGameTextMsg for server announcements and messages.

Since:
2.0.00
Author:
Jeremy D Monin
See Also:
Serialized Form

Field Summary
private  java.lang.String game
          Name of game
private static long serialVersionUID
           
private  java.lang.String text
          Text message
private static java.lang.String unlikely_char1
          Our token separator; not the normal SOCMessage.sep2.
static int VERSION_FOR_GAMESERVERTEXT
          First version number (2.0.00) that has this message type.
 
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
SOCGameServerText(java.lang.String ga, java.lang.String tm)
          Create a GameServerText message.
 
Method Summary
 java.lang.String getGame()
          Name of game this message is for.
 int getMinimumVersion()
          Minimum version where this message type is used.
 java.lang.String getText()
           
static SOCGameServerText parseDataStr(java.lang.String s)
          Parse the command String into a GameServerText message
 java.lang.String toCmd()
          GAMESERVERTEXT sep game char1 text
static java.lang.String toCmd(java.lang.String ga, java.lang.String tm)
          GAMESERVERTEXT sep game char1 text
 java.lang.String toString()
          Simple human-readable representation, used for debug purposes.
 
Methods inherited from class soc.message.SOCMessage
arrayIntoStringBuf, enumIntoStringBuf, getClassNameShort, getMaximumVersion, 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

VERSION_FOR_GAMESERVERTEXT

public static final int VERSION_FOR_GAMESERVERTEXT
First version number (2.0.00) that has this message type. Send older clients SOCGameTextMsg or other appropriate messages instead.

See Also:
Constant Field Values

unlikely_char1

private static final java.lang.String unlikely_char1
Our token separator; not the normal SOCMessage.sep2. Used in parseDataStr(String) to get all of the text, by choosing an unlikely separator character. SOCGameTextMsg overrides sep2 instead.


game

private final java.lang.String game
Name of game


text

private final java.lang.String text
Text message

Constructor Detail

SOCGameServerText

public SOCGameServerText(java.lang.String ga,
                         java.lang.String tm)
Create a GameServerText message.

Parameters:
ga - name of game
tm - text message
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

getText

public java.lang.String getText()
Returns:
the text message

toCmd

public java.lang.String toCmd()
GAMESERVERTEXT sep game char1 text

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

toCmd

public static java.lang.String toCmd(java.lang.String ga,
                                     java.lang.String tm)
GAMESERVERTEXT sep game char1 text

Parameters:
ga - the game name
tm - the text message
Returns:
the command string

parseDataStr

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

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

getMinimumVersion

public final int getMinimumVersion()
Minimum version where this message type is used. GAMESERVERTEXT introduced in 2.0.00.

Overrides:
getMinimumVersion in class SOCMessage
Returns:
Version number, 2000 for JSettlers 2.0.00.