Package net.sf.freecol.common.model
Class UnitTypeChange
- java.lang.Object
-
- net.sf.freecol.common.model.FreeColObject
-
- net.sf.freecol.common.model.FreeColSpecObject
-
- net.sf.freecol.common.model.FreeColSpecObjectType
-
- net.sf.freecol.common.model.UnitTypeChange
-
- All Implemented Interfaces:
java.lang.Comparable<FreeColObject>,Named,ObjectWithId
public class UnitTypeChange extends FreeColSpecObjectType
Simple container for individual type changes.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.concurrent.atomic.AtomicIntegerfakeIdIndexUnitTypefromThe unit type to change from.private static java.lang.StringFROM_TAGintprobabilityThe percentage chance of the change occurring.private static java.lang.StringPROBABILITY_TAGstatic java.lang.StringTAGUnitTypetoThe unit type to change to.private static java.lang.StringTO_TAGintturnsThe number of turns for the change to take, if not immediate.private static java.lang.StringTURNS_TAG-
Fields inherited from class net.sf.freecol.common.model.FreeColSpecObjectType
DELETE_TAG, EXTENDS_TAG, PRESERVE_TAG
-
Fields inherited from class net.sf.freecol.common.model.FreeColObject
ARRAY_SIZE_TAG, DEFAULT_CLASS_INDEX, fcoComparator, ID_ATTRIBUTE_TAG, logger, PARTIAL_ATTRIBUTE_TAG, VALUE_TAG
-
-
Constructor Summary
Constructors Constructor Description UnitTypeChange(java.lang.String id, Specification specification)Trivial constructor.UnitTypeChange(FreeColXMLReader xr, Specification spec)Read a unit change from a stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends FreeColObject>
booleancopyIn(T other)Copy another FreeColObject into this one if it is compatible.java.lang.StringgetXMLTagName()Get the serialization tag for this object.booleanisAvailableTo(Player player)Helper to check if a change is available to a player.protected voidreadAttributes(FreeColXMLReader xr)Reads the attributes of this object from an XML stream.java.lang.StringtoString()protected voidwriteAttributes(FreeColXMLWriter xw)Write the attributes of this object to a stream.-
Methods inherited from class net.sf.freecol.common.model.FreeColSpecObjectType
addScope, appliesTo, copyScopes, getDescriptionKey, getFeatureContainer, getIndex, getNameKey, getScopeList, getScopes, isAbstractType, readChild, readChildren, removeScope, setIndex, writeChildren
-
Methods inherited from class net.sf.freecol.common.model.FreeColSpecObject
getSpecification, setSpecification
-
Methods inherited from class net.sf.freecol.common.model.FreeColObject
addAbility, addFeatures, addModifier, addPropertyChangeListener, addPropertyChangeListener, apply, apply, applyModifiers, applyModifiers, arrayKey, compareIds, compareTo, containsAbilityKey, containsModifierKey, copy, copy, copy, copy, copyInCast, dumpObject, equals, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAbilities, getAbilities, getAbilities, getAbilities, getClassIndex, getDefenceModifiers, getDisplayObject, getFreeColObjectClass, getFreeColObjectClassByName, getGame, getId, getIdNumber, getIdType, getIdTypeByName, getModifiers, getModifiers, getModifiers, getModifiers, getObjectClassIndex, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeSupport, getSortedAbilities, getSortedModifiers, getSuffix, getSuffix, hasAbility, hasAbility, hasAbility, hashCode, hasListeners, hasModifier, hasModifier, hasModifier, idEquals, invokeMethod, logFreeColObjects, readFromXML, readFromXMLPartial, removeAbilities, removeAbility, removeFeatures, removeModifier, removeModifiers, removePropertyChangeListener, removePropertyChangeListener, save, save, save, save, serialize, serialize, serialize, serialize, setGame, setId, toXML, toXML, toXMLPartial, toXMLPartial
-
-
-
-
Field Detail
-
TAG
public static final java.lang.String TAG
- See Also:
- Constant Field Values
-
from
public UnitType from
The unit type to change from.
-
to
public UnitType to
The unit type to change to.
-
probability
public int probability
The percentage chance of the change occurring.
-
turns
public int turns
The number of turns for the change to take, if not immediate.
-
fakeIdIndex
private static java.util.concurrent.atomic.AtomicInteger fakeIdIndex
-
FROM_TAG
private static final java.lang.String FROM_TAG
- See Also:
- Constant Field Values
-
PROBABILITY_TAG
private static final java.lang.String PROBABILITY_TAG
- See Also:
- Constant Field Values
-
TO_TAG
private static final java.lang.String TO_TAG
- See Also:
- Constant Field Values
-
TURNS_TAG
private static final java.lang.String TURNS_TAG
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
UnitTypeChange
public UnitTypeChange(java.lang.String id, Specification specification)Trivial constructor.- Parameters:
id- The object identifier.specification- TheSpecificationto use.
-
UnitTypeChange
public UnitTypeChange(FreeColXMLReader xr, Specification spec) throws javax.xml.stream.XMLStreamException
Read a unit change from a stream.- Parameters:
xr- TheFreeColXMLReaderto read from.spec- TheSpecificationto read within.- Throws:
javax.xml.stream.XMLStreamException- if there is a problem reading the stream.
-
-
Method Detail
-
isAvailableTo
public boolean isAvailableTo(Player player)
Helper to check if a change is available to a player. This is useful when the change involves a transfer of ownership.- Parameters:
player- ThePlayerto test.- Returns:
- True if the player can use the to-unit-type.
-
copyIn
public <T extends FreeColObject> boolean copyIn(T other)
Copy another FreeColObject into this one if it is compatible.- Overrides:
copyInin classFreeColSpecObjectType- Type Parameters:
T- TheFreeColObjectsubclass of the object to copy in.- Parameters:
other- The other object.- Returns:
- True if the copy in is succesful.
-
writeAttributes
protected void writeAttributes(FreeColXMLWriter xw) throws javax.xml.stream.XMLStreamException
Write the attributes of this object to a stream. To be overridden if required by any object that has attributes and uses the toXML(FreeColXMLWriter, String) call.- Overrides:
writeAttributesin classFreeColObject- Parameters:
xw- TheFreeColXMLWriterto write to.- Throws:
javax.xml.stream.XMLStreamException- if there are any problems writing to the stream.
-
readAttributes
protected void readAttributes(FreeColXMLReader xr) throws javax.xml.stream.XMLStreamException
Reads the attributes of this object from an XML stream.- Overrides:
readAttributesin classFreeColSpecObjectType- Parameters:
xr- TheFreeColXMLReaderto read from.- Throws:
javax.xml.stream.XMLStreamException- if there is a problem reading the stream.
-
getXMLTagName
public java.lang.String getXMLTagName()
Get the serialization tag for this object.- Specified by:
getXMLTagNamein classFreeColObject- Returns:
- The tag.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classFreeColSpecObjectType
-
-