Package net.sf.freecol.common.networking
Class MultipleMessage
- java.lang.Object
-
- net.sf.freecol.common.networking.Message
-
- net.sf.freecol.common.networking.TrivialMessage
-
- net.sf.freecol.common.networking.AttributeMessage
-
- net.sf.freecol.common.networking.MultipleMessage
-
public class MultipleMessage extends AttributeMessage
The message that contains other messages.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.sf.freecol.common.networking.Message
Message.MessagePriority
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<Message>
messages
The list of messages.static java.lang.String
TAG
-
Fields inherited from class net.sf.freecol.common.networking.AttributeMessage
attributes
-
Fields inherited from class net.sf.freecol.common.networking.TrivialMessage
continueMessage, disconnectMessage, endTurnMessage, enterRevengeModeMessage, reconnectMessage, requestLaunchMessage, retireMessage, startGameMessage
-
Fields inherited from class net.sf.freecol.common.networking.Message
logger, messagePriorityComparator
-
-
Constructor Summary
Constructors Constructor Description MultipleMessage()
Create a newMultipleMessage
.MultipleMessage(java.util.List<Message> messages)
Create a newMultipleMessage
with the given messages.MultipleMessage(Game game, FreeColXMLReader xr)
Create a newMultipleMessage
from a stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
aiHandler(FreeColServer freeColServer, AIPlayer aiPlayer)
AI-side handler for this message.void
clientHandler(FreeColClient freeColClient)
Client-side handler for this message.boolean
isEmpty()
Is this message vacuous?ChangeSet
serverHandler(FreeColServer freeColServer, ServerPlayer serverPlayer)
Server-side handler for this message.Message
simplify()
Simplify this message.java.lang.String
toString()
void
writeChildren(FreeColXMLWriter xw)
Write any children of this message.-
Methods inherited from class net.sf.freecol.common.networking.AttributeMessage
canMerge, getPriority, getStringAttribute, getStringAttributeMap, hasAttribute, setMergeable, setStringAttribute
-
Methods inherited from class net.sf.freecol.common.networking.TrivialMessage
appendChild, appendChildren, currentPlayerMessage, getChildCount, getChildren, getType, setChildren, setType
-
Methods inherited from class net.sf.freecol.common.networking.Message
clientGeneric, expected, getArrayAttributes, getBooleanAttribute, getChild, getChildren, getEnumAttribute, getIntegerAttribute, getPriorityLevel, igc, igc, invokeAndWait, invokeLater, isType, merge, pgc, pgc, pretty, read, setArrayAttributes, setArrayAttributes, setBooleanAttribute, setEnumAttribute, setIntegerAttribute, setStringAttributeMap, setStringAttributes, setStringAttributes, toXML, writeAttributes
-
-
-
-
Field Detail
-
TAG
public static final java.lang.String TAG
- See Also:
- Constant Field Values
-
messages
private final java.util.List<Message> messages
The list of messages.
-
-
Constructor Detail
-
MultipleMessage
public MultipleMessage()
Create a newMultipleMessage
.
-
MultipleMessage
public MultipleMessage(java.util.List<Message> messages)
Create a newMultipleMessage
with the given messages.- Parameters:
messages
- TheMessage
s to add.
-
MultipleMessage
public MultipleMessage(Game game, FreeColXMLReader xr) throws javax.xml.stream.XMLStreamException, FreeColException
Create a newMultipleMessage
from a stream.- Parameters:
game
- TheGame
to read within.xr
- TheFreeColXMLReader
to read from.- Throws:
javax.xml.stream.XMLStreamException
- if the stream is corrupt.FreeColException
- if the internal message can not be read.
-
-
Method Detail
-
isEmpty
public boolean isEmpty()
Is this message vacuous?
-
aiHandler
public void aiHandler(FreeColServer freeColServer, AIPlayer aiPlayer) throws FreeColException
AI-side handler for this message. AI handlers always return null. FIXME: One day the FreeColServer should devolve to AIMain.- Overrides:
aiHandler
in classTrivialMessage
- Parameters:
freeColServer
- TheFreeColServer
handling the request.aiPlayer
- TheAIPlayer
the message was sent to.- Throws:
FreeColException
- if there is a problem handling the message.
-
clientHandler
public void clientHandler(FreeColClient freeColClient) throws FreeColException
Client-side handler for this message. Client handlers always return null.- Overrides:
clientHandler
in classTrivialMessage
- Parameters:
freeColClient
- TheFreeColClient
to handle this message.- Throws:
FreeColException
- if there is a problem building the message.
-
serverHandler
public ChangeSet serverHandler(FreeColServer freeColServer, ServerPlayer serverPlayer)
Server-side handler for this message.- Overrides:
serverHandler
in classTrivialMessage
- Parameters:
freeColServer
- TheFreeColServer
handling the request.serverPlayer
- TheServerPlayer
that sent the request.- Returns:
- A
ChangeSet
defining the response.
-
writeChildren
public void writeChildren(FreeColXMLWriter xw) throws javax.xml.stream.XMLStreamException
Write any children of this message.- Overrides:
writeChildren
in classMessage
- Parameters:
xw
- TheFreeColXMLWriter
to write to.- Throws:
javax.xml.stream.XMLStreamException
- if there is a problem writing the stream.
-
simplify
public Message simplify()
Simplify this message. Called from ChangeSet.build with the intent of minimizing traffic.- Returns:
- A simplified
Message
.
-
-