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>messagesThe list of messages.static java.lang.StringTAG-
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 newMultipleMessagewith the given messages.MultipleMessage(Game game, FreeColXMLReader xr)Create a newMultipleMessagefrom a stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaiHandler(FreeColServer freeColServer, AIPlayer aiPlayer)AI-side handler for this message.voidclientHandler(FreeColClient freeColClient)Client-side handler for this message.booleanisEmpty()Is this message vacuous?ChangeSetserverHandler(FreeColServer freeColServer, ServerPlayer serverPlayer)Server-side handler for this message.Messagesimplify()Simplify this message.java.lang.StringtoString()voidwriteChildren(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 newMultipleMessagewith the given messages.- Parameters:
messages- TheMessages to add.
-
MultipleMessage
public MultipleMessage(Game game, FreeColXMLReader xr) throws javax.xml.stream.XMLStreamException, FreeColException
Create a newMultipleMessagefrom a stream.- Parameters:
game- TheGameto read within.xr- TheFreeColXMLReaderto 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:
aiHandlerin classTrivialMessage- Parameters:
freeColServer- TheFreeColServerhandling the request.aiPlayer- TheAIPlayerthe 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:
clientHandlerin classTrivialMessage- Parameters:
freeColClient- TheFreeColClientto 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:
serverHandlerin classTrivialMessage- Parameters:
freeColServer- TheFreeColServerhandling the request.serverPlayer- TheServerPlayerthat sent the request.- Returns:
- A
ChangeSetdefining the response.
-
writeChildren
public void writeChildren(FreeColXMLWriter xw) throws javax.xml.stream.XMLStreamException
Write any children of this message.- Overrides:
writeChildrenin classMessage- Parameters:
xw- TheFreeColXMLWriterto 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.
-
-