Package net.sf.freecol.common.networking
Class FeatureChangeMessage
- 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.ObjectMessage
-
- net.sf.freecol.common.networking.FeatureChangeMessage
-
public class FeatureChangeMessage extends ObjectMessage
The message sent when to add or remove a feature.
-
-
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 static java.lang.String
ADD_TAG
private static java.lang.String
ID_TAG
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 FeatureChangeMessage(FreeColGameObject fcgo, FreeColObject fco, boolean add)
Create a newFeatureChangeMessage
for the game object and feature.FeatureChangeMessage(Game game, FreeColXMLReader xr)
Create a newFeatureChangeMessage
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.private boolean
getAdd()
Get the add/remove state.private FreeColGameObject
getParent(Game game)
Get the parent object to add/remove to.private java.lang.String
getParentId()
Get the parent object identifier.Message.MessagePriority
getPriority()
Get the priority of this type of message.boolean
merge(Message message)
Merge another message into this message if possible.-
Methods inherited from class net.sf.freecol.common.networking.ObjectMessage
appendChild, appendChildren, getChildCount, getChildren, setChildren
-
Methods inherited from class net.sf.freecol.common.networking.AttributeMessage
canMerge, getStringAttribute, getStringAttributeMap, hasAttribute, setMergeable, setStringAttribute
-
Methods inherited from class net.sf.freecol.common.networking.TrivialMessage
currentPlayerMessage, getType, serverHandler, setType
-
Methods inherited from class net.sf.freecol.common.networking.Message
clientGeneric, expected, getArrayAttributes, getBooleanAttribute, getChild, getChildren, getEnumAttribute, getIntegerAttribute, getPriorityLevel, igc, igc, invokeAndWait, invokeLater, isEmpty, isType, pgc, pgc, pretty, read, setArrayAttributes, setArrayAttributes, setBooleanAttribute, setEnumAttribute, setIntegerAttribute, setStringAttributeMap, setStringAttributes, setStringAttributes, toString, toXML, writeAttributes, writeChildren
-
-
-
-
Field Detail
-
TAG
public static final java.lang.String TAG
- See Also:
- Constant Field Values
-
ADD_TAG
private static final java.lang.String ADD_TAG
- See Also:
- Constant Field Values
-
ID_TAG
private static final java.lang.String ID_TAG
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
FeatureChangeMessage
public FeatureChangeMessage(FreeColGameObject fcgo, FreeColObject fco, boolean add)
Create a newFeatureChangeMessage
for the game object and feature.- Parameters:
fcgo
- The parentFreeColGameObject
to manipulate.fco
- TheFreeColObject
to add or remove.add
- If true the object is added.
-
FeatureChangeMessage
public FeatureChangeMessage(Game game, FreeColXMLReader xr) throws javax.xml.stream.XMLStreamException
Create a newFeatureChangeMessage
from a stream.- Parameters:
game
- TheGame
this message belongs to.xr
- TheFreeColXMLReader
to read from.- Throws:
javax.xml.stream.XMLStreamException
- if there is a problem reading the stream.
-
-
Method Detail
-
getParentId
private java.lang.String getParentId()
Get the parent object identifier.- Returns:
- The parent identifier.
-
getParent
private FreeColGameObject getParent(Game game)
Get the parent object to add/remove to.- Parameters:
game
- TheGame
to look in.- Returns:
- The parent
FreeColGameObject
.
-
getAdd
private boolean getAdd()
Get the add/remove state.- Returns:
- True if the child object should be added to the parent.
-
getPriority
public Message.MessagePriority getPriority()
Get the priority of this type of message.- Overrides:
getPriority
in classAttributeMessage
- Returns:
- The message priority.
-
merge
public boolean merge(Message message)
Merge another message into this message if possible.
-
aiHandler
public void aiHandler(FreeColServer freeColServer, AIPlayer aiPlayer)
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.
-
clientHandler
public void clientHandler(FreeColClient freeColClient)
Client-side handler for this message. Client handlers always return null.- Overrides:
clientHandler
in classTrivialMessage
- Parameters:
freeColClient
- TheFreeColClient
to handle this message.
-
-