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

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

public class IdleAtColonyMission
extends Mission

Mission for idling in colony. TODO: this has now been generalized to settlements, rename one day.


Field Summary
private static java.util.logging.Logger logger
           
 
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
IdleAtColonyMission(AIMain aiMain, AIUnit aiUnit)
          Creates a mission for the given AIUnit.
IdleAtColonyMission(AIMain aiMain, org.w3c.dom.Element element)
          Loads a mission from the given element.
IdleAtColonyMission(AIMain aiMain, javax.xml.stream.XMLStreamReader in)
          Creates a new IdleAtColonyMission and reads the given element.
 
Method Summary
 void doMission(Connection connection)
          Performs the mission.
 Location getTransportDestination()
          Gets the transport destination for units with this mission.
static java.lang.String getXMLElementTagName()
          Returns the tag name of the root element representing this object.
 boolean isOneTime()
          Should this Mission only be carried out once?
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, findNearestOtherSettlement, findTarget, getAIRandom, getAIUnit, getDebuggingInfo, getEuropeanAIPlayer, getPathStartTile, getTransportPriority, getUnit, isValid, isValid, 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
Constructor Detail

IdleAtColonyMission

public IdleAtColonyMission(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.

IdleAtColonyMission

public IdleAtColonyMission(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.

IdleAtColonyMission

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

getTransportDestination

public Location getTransportDestination()
Gets the transport destination for units with this mission.

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

isOneTime

public boolean isOneTime()
Should this Mission only be carried out once?

Overrides:
isOneTime in class Mission
Returns:
True.

doMission

public void doMission(Connection connection)
Performs the mission. This is done by moving in a random direction until the move points are zero or the unit gets stuck.

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

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:
"idleAtColonyMission".