|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object soc.message.SOCMessage soc.message.SOCMessageMulti soc.message.SOCMessageTemplateMi
public abstract class SOCMessageTemplateMi
Template for message types with variable number of integer parameters. You will have to write parseDataStr, because of its subclass return type and because it's static.
Sample implementation:
// format of s: POTENTIALSETTLEMENTS sep game sep2 settlecoord {sep2 settlecoord}*...
// Must have at least game + 1 settlement param.
public static SOCPotentialSettlements parseDataStr(String[] s)
{
String ga; // the game name
int[] sett; // the settlements
if ((s == null) || (s.length < 2))
return null; // must have at least game + 1 settlement param
ga = s[0];
sett = new int[s.length - 1];
try
{
for (int i = 1; i < s.length; ++i)
sett[i-1] = Integer.parseInt(s[i]);
}
catch (Exception e)
{
return null;
}
return new SOCPotentialSettlements(ga, sett);
}
For notes on the section you must add to SOCMessage.toMsg(String)
,
see SOCMessageMulti
.
Field Summary | |
---|---|
protected java.lang.String |
game
Name of the game, or null if none. |
protected int[] |
pa
Array of int parameters, or null if none. |
private static long |
serialVersionUID
|
Constructor Summary | |
---|---|
protected |
SOCMessageTemplateMi(int id,
java.lang.String ga,
int[] parr)
Create a new multi-message with integer parameters. |
Method Summary | |
---|---|
java.lang.String |
getGame()
Name of game this message is for. |
int[] |
getParams()
|
java.lang.String |
toCmd()
MESSAGETYPE [sep game] sep param1 sep param2 sep ... |
protected static java.lang.String |
toCmd(int messageType,
java.lang.String gaName,
int[] parr)
MESSAGETYPE [sep game] sep param1 sep param2 sep ... |
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 |
---|
private static final long serialVersionUID
protected java.lang.String game
protected int[] pa
Although SOCMessageTemplateMs
uses a List in v2.0.00 and newer,
for now this class still uses an array for compact representation.
Constructor Detail |
---|
protected SOCMessageTemplateMi(int id, java.lang.String ga, int[] parr)
id
- Message type IDga
- Name of game this message is for, or null if noneparr
- Parameters, or null if noneMethod Detail |
---|
public java.lang.String getGame()
SOCMessageForGame
null
if message is in per-game structures or code.
At the server, the message treater dispatches incoming SOCMessageForGame
s
based on their getGame()
:
null
: Message is ignored
SOCMessage.GAME_NONE
: Message is handled by SOCServer
itself
GameHandler
for that game's type. If no game with that name is found,
the message is ignored.
getGame
in interface SOCMessageForGame
SOCMessage.GAME_NONE
public int[] getParams()
public java.lang.String toCmd()
toCmd
in class SOCMessage
protected static java.lang.String toCmd(int messageType, java.lang.String gaName, int[] parr)
messageType
- The message type idgaName
- the game name, or nullparr
- The parameter array, or null if no additional parameters
public java.lang.String toString()
SOCMessage
toString
in class SOCMessage
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |