net.sf.freecol.server.ai.mission
Class DefendSettlementMission

java.lang.Object
  extended by net.sf.freecol.server.ai.AIObject
      extended by net.sf.freecol.server.ai.mission.Mission
          extended by net.sf.freecol.server.ai.mission.DefendSettlementMission

public class DefendSettlementMission
extends Mission

Mission for defending a Settlement.

See Also:
Settlement

Field Summary
static java.lang.String COPYRIGHT
           
static java.lang.String LICENSE
           
static java.lang.String REVISION
           
 
Fields inherited from class net.sf.freecol.server.ai.mission.Mission
MINIMUM_TRANSPORT_PRIORITY, NO_MORE_MOVES_LEFT, NO_PATH_TO_TARGET, NORMAL_TRANSPORT_PRIORITY
 
Fields inherited from class net.sf.freecol.server.ai.AIObject
id, uninitialized
 
Constructor Summary
DefendSettlementMission(AIMain aiMain, AIUnit aiUnit, Settlement settlement)
          Creates a mission for the given AIUnit.
DefendSettlementMission(AIMain aiMain, org.w3c.dom.Element element)
          Creates a new DefendSettlementMission.
DefendSettlementMission(AIMain aiMain, javax.xml.stream.XMLStreamReader in)
          Creates a new DefendSettlementMission and reads the given element.
 
Method Summary
 void doMission(Connection connection)
          Performs this mission.
 java.lang.String getDebuggingInfo()
          Gets debugging information about this mission.
 Settlement getSettlement()
          Gets the settlement.
 Tile getTransportDestination()
          Returns the destination for this Transportable.
 int getTransportPriority()
          Returns the priority of getting the unit to the transport destination.
static java.lang.String getXMLElementTagName()
          Returns the tag name of the root element representing this object.
 boolean isValid()
          Checks if this mission is still valid to perform.
protected  void readFromXMLImpl(javax.xml.stream.XMLStreamReader in)
          Reads all the AIObjects and other AI-related information from XML data.
protected  void toXMLImpl(javax.xml.stream.XMLStreamWriter out)
          Writes all of the AIObjects and other AI-related information to an XML-stream.
 
Methods inherited from class net.sf.freecol.server.ai.mission.Mission
dispose, exploreLostCityRumour, findTarget, getAIUnit, getID, getUnit, move, moveTowards, moveTowards, setAIUnit
 
Methods inherited from class net.sf.freecol.server.ai.AIObject
getAIMain, getGame, getRandom, isUninitialized, readFromXML, readFromXMLElement, toXML, toXMLElement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COPYRIGHT

public static final java.lang.String COPYRIGHT
See Also:
Constant Field Values

LICENSE

public static final java.lang.String LICENSE
See Also:
Constant Field Values

REVISION

public static final java.lang.String REVISION
See Also:
Constant Field Values
Constructor Detail

DefendSettlementMission

public DefendSettlementMission(AIMain aiMain,
                               AIUnit aiUnit,
                               Settlement settlement)
Creates a mission for the given AIUnit.

Parameters:
aiMain - The main AI-object.
aiUnit - The AIUnit this mission is created for.
settlement - The Settlement to defend.
Throws:
java.lang.NullPointerException - if aiUnit == null or settlement == null.

DefendSettlementMission

public DefendSettlementMission(AIMain aiMain,
                               org.w3c.dom.Element element)
Creates a new DefendSettlementMission.

Parameters:
aiMain - The main AI-object.
element - An Element containing an XML-representation of this object.

DefendSettlementMission

public DefendSettlementMission(AIMain aiMain,
                               javax.xml.stream.XMLStreamReader in)
                        throws javax.xml.stream.XMLStreamException
Creates a new DefendSettlementMission and reads the given element.

Parameters:
aiMain - The main AI-object.
in - The input stream containing the XML.
Throws:
javax.xml.stream.XMLStreamException - if a problem was encountered during parsing.
See Also:
AIObject.readFromXML(javax.xml.stream.XMLStreamReader)
Method Detail

doMission

public void doMission(Connection connection)
Performs this mission.

Specified by:
doMission in class Mission
Parameters:
connection - The Connection to the server.

getTransportDestination

public Tile getTransportDestination()
Returns the destination for this Transportable. This can either be the target Tile of the transport or the target for the entire Transportable's mission. The target for the transport is determined by TransportMission in the latter case.

Overrides:
getTransportDestination in class Mission
Returns:
The destination for this Transportable.

getTransportPriority

public int getTransportPriority()
Returns the priority of getting the unit to the transport destination.

Overrides:
getTransportPriority in class Mission
Returns:
The priority.

getSettlement

public Settlement getSettlement()
Gets the settlement.

Returns:
The Settlement to be defended by this Mission.

isValid

public boolean isValid()
Checks if this mission is still valid to perform.

Overrides:
isValid in class Mission
Returns:
true if this mission is still valid to perform and false otherwise.

toXMLImpl

protected void toXMLImpl(javax.xml.stream.XMLStreamWriter out)
                  throws javax.xml.stream.XMLStreamException
Writes all of the AIObjects and other AI-related information to an XML-stream.

Specified by:
toXMLImpl in class AIObject
Parameters:
out - The target stream.
Throws:
javax.xml.stream.XMLStreamException - if there are any problems writing to the stream.

readFromXMLImpl

protected void readFromXMLImpl(javax.xml.stream.XMLStreamReader in)
                        throws javax.xml.stream.XMLStreamException
Reads all the AIObjects and other AI-related information from XML data.

Specified by:
readFromXMLImpl in class AIObject
Parameters:
in - The input stream with the XML.
Throws:
javax.xml.stream.XMLStreamException - if a problem was encountered during parsing.

getXMLElementTagName

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

Returns:
The String "defendSettlementMission".

getDebuggingInfo

public java.lang.String getDebuggingInfo()
Gets debugging information about this mission. This string is a short representation of this object's state.

Overrides:
getDebuggingInfo in class Mission
Returns:
The String: "(x, y) ColonyName" where x and y is the coordinates of the settlement for this mission, and ColonyName is the name (if available).