net.sf.freecol.common.networking
Class DiplomacyMessage

java.lang.Object
  extended by net.sf.freecol.common.networking.Message
      extended by net.sf.freecol.common.networking.DiplomacyMessage

public class DiplomacyMessage
extends Message

The message sent when executing a diplomatic trade.


Nested Class Summary
static class DiplomacyMessage.TradeStatus
          A type for the agreement status.
 
Constructor Summary
DiplomacyMessage(Game game, org.w3c.dom.Element element)
          Create a new DiplomacyMessage from a supplied element.
DiplomacyMessage(Unit unit, Map.Direction direction, DiplomaticTrade agreement)
          Create a new DiplomacyMessage with the supplied unit, direction and agreement.
 
Method Summary
 DiplomaticTrade getAgreement()
          Get the agreement (a DiplomaticTrade) in this message.
 java.lang.String getOtherNationName(Player player)
          Get the name of this message's other nation as a string.
 Settlement getSettlement()
          Get the Settlement at which a diplomatic exchange happens.
 Unit getUnit()
          Get the Unit which began this diplomatic exchange.
static java.lang.String getXMLElementTagName()
          The tag name of the root element representing this object.
 org.w3c.dom.Element handle(FreeColServer server, Connection connection)
          Handle a "diplomacy"-message.
 boolean isAccept()
          Does this message indicate agreement to the trade?
 boolean isReject()
          Does this message indicate rejection of the trade?
 void setAccept()
          Mark a trade as accepted.
 void setAgreement(DiplomaticTrade agreement)
          Set the agreement (a DiplomaticTrade) in this message.
 void setReject()
          Mark a trade as rejected.
 org.w3c.dom.Element toXMLElement()
          Convert this DiplomacyMessage to XML.
 
Methods inherited from class net.sf.freecol.common.networking.Message
clientError, createError, createError, createNewDocument, createNewRootElement, getAttribute, getChildElement, getDocument, getFreeColProtocolVersion, getType, hasAttribute, insertAsRoot, isType, setAttribute, setAttribute, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DiplomacyMessage

public DiplomacyMessage(Unit unit,
                        Map.Direction direction,
                        DiplomaticTrade agreement)
Create a new DiplomacyMessage with the supplied unit, direction and agreement.

Parameters:
unit - The Unit that is spying.
direction - The Direction the unit is looking.
agreement - The DiplomaticTrade to make.

DiplomacyMessage

public DiplomacyMessage(Game game,
                        org.w3c.dom.Element element)
Create a new DiplomacyMessage from a supplied element.

Parameters:
game - The Game this message belongs to.
element - The Element to use to create the message.
Method Detail

getUnit

public Unit getUnit()
Get the Unit which began this diplomatic exchange. This is a helper routine to be called in-client as it blindly trusts its field.

Returns:
The unit, or null if none.

getSettlement

public Settlement getSettlement()
Get the Settlement at which a diplomatic exchange happens. This is a helper routine to be called in-client as it blindly trusts all fields.

Returns:
The settlement, or null if none.

getOtherNationName

public java.lang.String getOtherNationName(Player player)
Get the name of this message's other nation as a string.

Parameters:
player - This nation's player.
Returns:
The name of the other nation.

getAgreement

public DiplomaticTrade getAgreement()
Get the agreement (a DiplomaticTrade) in this message.

Returns:
The agreement in this message.

setAgreement

public void setAgreement(DiplomaticTrade agreement)
Set the agreement (a DiplomaticTrade) in this message.


isAccept

public boolean isAccept()
Does this message indicate agreement to the trade?

Returns:
True if the agreement has been agreed to.

setAccept

public void setAccept()
Mark a trade as accepted.


isReject

public boolean isReject()
Does this message indicate rejection of the trade?

Returns:
True if the agreement has been rejected.

setReject

public void setReject()
Mark a trade as rejected.


handle

public org.w3c.dom.Element handle(FreeColServer server,
                                  Connection connection)
Handle a "diplomacy"-message.

Parameters:
server - The FreeColServer that handles the message.
connection - The Connection the message is from.
Returns:
An Element describing the trade with either "accept" or "reject" status, null on trade failure, or an error Element on outright error.

toXMLElement

public org.w3c.dom.Element toXMLElement()
Convert this DiplomacyMessage to XML.

Overrides:
toXMLElement in class Message
Returns:
The XML representation of this message.

getXMLElementTagName

public static java.lang.String getXMLElementTagName()
The tag name of the root element representing this object.

Returns:
"diplomacy".