Package net.sf.freecol.common.networking
Class DiplomacyMessage
- 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.DiplomacyMessage
-
public class DiplomacyMessage extends ObjectMessage
The message sent when executing a diplomatic trade.
-
-
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
OTHER_ID_TAG
private static java.lang.String
OUR_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 DiplomacyMessage(Colony colony, Unit unit, DiplomaticTrade agreement)
Create a newDiplomacyMessage
.DiplomacyMessage(FreeColGameObject our, FreeColGameObject other, DiplomaticTrade agreement)
Create a newDiplomacyMessage
.DiplomacyMessage(Game game, FreeColXMLReader xr)
Create a newDiplomacyMessage
from a stream.DiplomacyMessage(Unit unit, Colony colony, DiplomaticTrade agreement)
Create a newDiplomacyMessage
.DiplomacyMessage(Unit unit, Unit otherUnit, DiplomaticTrade agreement)
Create a newDiplomacyMessage
.
-
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 DiplomaticTrade
getAgreement()
Get the agreement (aDiplomaticTrade
) in this message.private Unit
getExtraUnit()
Get the extraUnit
.private FreeColGameObject
getOtherFCGO(Game game)
Get the other FCGO.private FreeColGameObject
getOurFCGO(Game game)
Get our FCGO.Message.MessagePriority
getPriority()
Get the priority of this type of message.ChangeSet
serverHandler(FreeColServer freeColServer, ServerPlayer serverPlayer)
Server-side handler for this message.-
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, 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, merge, 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
-
OTHER_ID_TAG
private static final java.lang.String OTHER_ID_TAG
- See Also:
- Constant Field Values
-
OUR_ID_TAG
private static final java.lang.String OUR_ID_TAG
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DiplomacyMessage
public DiplomacyMessage(FreeColGameObject our, FreeColGameObject other, DiplomaticTrade agreement)
Create a newDiplomacyMessage
.- Parameters:
our
- OurFreeColGameObject
that is negotiating.other
- The otherFreeColGameObject
to negotiate with.agreement
- TheDiplomaticTrade
to make.
-
DiplomacyMessage
public DiplomacyMessage(Unit unit, Unit otherUnit, DiplomaticTrade agreement)
Create a newDiplomacyMessage
.- Parameters:
unit
- TheUnit
that is negotiating.otherUnit
- The otherUnit
to negotiate with.agreement
- TheDiplomaticTrade
to make.
-
DiplomacyMessage
public DiplomacyMessage(Unit unit, Colony colony, DiplomaticTrade agreement)
Create a newDiplomacyMessage
.- Parameters:
unit
- TheUnit
that is negotiating.colony
- TheColony
to negotiate with.agreement
- TheDiplomaticTrade
to make.
-
DiplomacyMessage
public DiplomacyMessage(Colony colony, Unit unit, DiplomaticTrade agreement)
Create a newDiplomacyMessage
.- Parameters:
colony
- TheColony
that is negotiating.unit
- TheUnit
that to negotiate with.agreement
- TheDiplomaticTrade
to make.
-
DiplomacyMessage
public DiplomacyMessage(Game game, FreeColXMLReader xr) throws javax.xml.stream.XMLStreamException
Create a newDiplomacyMessage
from a stream.- Parameters:
game
- TheGame
this message belongs to.xr
- TheFreeColXMLReader
to read from.- Throws:
javax.xml.stream.XMLStreamException
- on stream error.
-
-
Method Detail
-
getOurFCGO
private FreeColGameObject getOurFCGO(Game game)
Get our FCGO.- Parameters:
game
- TheGame
to extract the FCGO from.- Returns:
- Our
FreeColGameObject
.
-
getOtherFCGO
private FreeColGameObject getOtherFCGO(Game game)
Get the other FCGO.- Parameters:
game
- TheGame
to extract the FCGO from.- Returns:
- The other
FreeColGameObject
.
-
getAgreement
private DiplomaticTrade getAgreement()
Get the agreement (aDiplomaticTrade
) in this message.- Returns:
- The agreement in this message.
-
getExtraUnit
private Unit getExtraUnit()
Get the extraUnit
.- Returns:
- The extra
Unit
, or null if none.
-
getPriority
public Message.MessagePriority getPriority()
Get the priority of this type of message.- Overrides:
getPriority
in classAttributeMessage
- Returns:
- The message priority.
-
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.
-
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.
-
-