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

java.lang.Object
  extended by net.sf.freecol.common.model.FreeColObject
      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.ScoutingMission

public class ScoutingMission
extends Mission

Mission for controlling a scout.

See Also:
Unit.Role.SCOUT

Field Summary
private  java.lang.String debugAction
           
private static java.util.logging.Logger logger
           
private  EquipmentType scoutEquipment
           
private  Tile transportDestination
           
private  boolean valid
           
 
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
uninitialized
 
Fields inherited from class net.sf.freecol.common.model.FreeColObject
ARRAY_SIZE, ID_ATTRIBUTE, ID_ATTRIBUTE_TAG, INFINITY, NO_ID, PARTIAL_ATTRIBUTE, UNDEFINED, VALUE_TAG
 
Constructor Summary
ScoutingMission(AIMain aiMain, AIUnit aiUnit)
          Creates a mission for the given AIUnit.
ScoutingMission(AIMain aiMain, org.w3c.dom.Element element)
          Loads a mission from the given element.
ScoutingMission(AIMain aiMain, javax.xml.stream.XMLStreamReader in)
          Creates a new ScoutingMission and reads the given element.
 
Method Summary
 void dispose()
          Disposes this Mission.
 void doMission(Connection connection)
          Performs this mission.
 java.lang.String getDebuggingInfo()
          Gets debugging information about this mission.
 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.
private static boolean isTarget(Tile t, Unit u, EquipmentType scoutEquipment)
           
 boolean isValid()
          Checks if this mission is still valid to perform.
static boolean isValid(AIUnit au)
          Checks if this mission is valid to perform.
protected  void toXMLImpl(javax.xml.stream.XMLStreamWriter out)
          Writes all of the AIObjects and other AI-related information to an XML-stream.
private  void updateTransportDestination()
           
 
Methods inherited from class net.sf.freecol.server.ai.mission.Mission
findNearestOtherSettlement, findTarget, getAIRandom, getAIUnit, getEuropeanAIPlayer, getPathStartTile, getUnit, isOneTime, moveButDontAttack, moveRandomly, moveTowards, moveTowards, moveUnitToAmerica, moveUnitToEurope, readAttributes, sellCargoInEurope, setAIUnit, shouldTakeTransportToTile, travelToTarget, unitLeavesShip, unloadCargoInColony, writeAttributes
 
Methods inherited from class net.sf.freecol.server.ai.AIObject
getAIMain, getGame, getSpecification, isUninitialized, readFromXML
 
Methods inherited from class net.sf.freecol.common.model.FreeColObject
addPropertyChangeListener, addPropertyChangeListener, dumpObject, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAttribute, getAttribute, getAttribute, getAttribute, getAttribute, getId, getPropertyChangeListeners, getPropertyChangeListeners, hasAbility, hasAttribute, hasListeners, readAttributes, readChild, readChild, readChildren, readChildren, readFromArrayElement, readFromArrayElement, readFromListElement, readFromXMLElement, readFromXMLImpl, readFromXMLImpl, readFromXMLPartialImpl, removePropertyChangeListener, removePropertyChangeListener, save, save, setId, setSpecification, toXML, toXML, toXML, toXMLElement, toXMLElement, toXMLElement, toXMLElement, toXMLElementPartial, toXMLPartialImpl, writeAttribute, writeChildren
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static final java.util.logging.Logger logger

valid

private boolean valid

scoutEquipment

private EquipmentType scoutEquipment

transportDestination

private Tile transportDestination

debugAction

private java.lang.String debugAction
Constructor Detail

ScoutingMission

public ScoutingMission(AIMain aiMain,
                       AIUnit aiUnit)
Creates a mission for the given AIUnit.

Parameters:
aiMain - The main AI-object.
aiUnit - The AIUnit this mission is created for.

ScoutingMission

public ScoutingMission(AIMain aiMain,
                       org.w3c.dom.Element element)
Loads a mission from the given element.

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

ScoutingMission

public ScoutingMission(AIMain aiMain,
                       javax.xml.stream.XMLStreamReader in)
                throws javax.xml.stream.XMLStreamException
Creates a new ScoutingMission 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

dispose

public void dispose()
Disposes this Mission.

Overrides:
dispose in class Mission

doMission

public void doMission(Connection connection)
Performs this mission.

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

updateTransportDestination

private void updateTransportDestination()

isTarget

private static boolean isTarget(Tile t,
                                Unit u,
                                EquipmentType scoutEquipment)

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 tansport 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.

isValid

public boolean isValid()
Checks if this mission is still valid to perform. Unit must be mounted.

Overrides:
isValid in class Mission
Returns:
True if this mission is still valid to perform.

isValid

public static boolean isValid(AIUnit au)
Checks if this mission is valid to perform.

Parameters:
au - The unit to be tested.
Returns:
true if this mission is still valid to perform and false otherwise.

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.

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 FreeColObject
Parameters:
out - The target stream.
Throws:
javax.xml.stream.XMLStreamException - if there are any problems writing to the stream.

getXMLElementTagName

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

Returns:
"scoutingMission".