soc.message
Class SOCLegalEdges

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

public class SOCLegalEdges
extends SOCMessage
implements SOCMessageForGame

This message contains a list of legal edges (ships or roads). Used when joining a game in progress with the large sea board.

Since:
2.0.00
See Also:
Serialized Form

Field Summary
 boolean edgesAreShips
          True for ships, false for roads
 java.lang.String game
          Name of game
 java.util.HashSet<java.lang.Integer> leList
          List of legal edges
 int playerNumber
          Player number, or -1 for all players
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
SOCLegalEdges(java.lang.String ga, int pn, boolean areShips, java.util.HashSet<java.lang.Integer> le)
          Create a SOCLegalEdges message (roads or ships).
 
Method Summary
 java.lang.String getGame()
          Name of game this message is for.
static SOCLegalEdges parseDataStr(java.lang.String s)
          Parse the command String into a SOCLegalEdges message
 java.lang.String toCmd()
          Converts the contents of this message into a String that can be transferred by a client or server.
static java.lang.String toCmd(java.lang.String ga, int pn, boolean areShips, java.util.HashSet<java.lang.Integer> le)
          toCmd for a SOCLegalEdges message.
 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

public final java.lang.String game
Name of game


playerNumber

public final int playerNumber
Player number, or -1 for all players


edgesAreShips

public final boolean edgesAreShips
True for ships, false for roads


leList

public final java.util.HashSet<java.lang.Integer> leList
List of legal edges

Constructor Detail

SOCLegalEdges

public SOCLegalEdges(java.lang.String ga,
                     int pn,
                     boolean areShips,
                     java.util.HashSet<java.lang.Integer> le)
Create a SOCLegalEdges message (roads or ships).

Parameters:
ga - name of the game
pn - the player number, or -1 for all players
areShips - True for legal ships, false for legal roads
le - the list of legal edges
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 game name
See Also:
SOCMessage.GAME_NONE

toCmd

public java.lang.String toCmd()
Description copied from class: SOCMessage
Converts the contents of this message into a String that can be transferred by a client or server. Your class' required method static SOCMessageSubclass parseDataStr(String) must be able to turn this String back into an instance of the message class.

For most message types, at most one SOCMessage.sep token is allowed, separating the type ID from the rest of the parameters. For multi-messages (@link SOCMessageMulti}, multiple SOCMessage.sep tokens are allowed. Multi-messages are parsed with: static SOCMessageSubclass parseDataStr(String[])

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

toCmd

public static java.lang.String toCmd(java.lang.String ga,
                                     int pn,
                                     boolean areShips,
                                     java.util.HashSet<java.lang.Integer> le)
toCmd for a SOCLegalEdges message.

LEGALEDGES sep game sep2 playerNumber sep2 areShips sep2 leList*
* leList elements are hexadecimal.

Parameters:
ga - the game name
pn - the player number, or -1 for all players
areShips - True for legal ships, false for legal roads
le - the list of legal edges
Returns:
the command string

parseDataStr

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

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