Package net.sf.freecol.common.option
Class IntegerOption
- java.lang.Object
-
- net.sf.freecol.common.model.FreeColObject
-
- net.sf.freecol.common.model.FreeColSpecObject
-
- net.sf.freecol.common.option.AbstractOption<java.lang.Integer>
-
- net.sf.freecol.common.option.IntegerOption
-
- All Implemented Interfaces:
java.lang.Cloneable
,java.lang.Comparable<FreeColObject>
,ObjectWithId
,Option<java.lang.Integer>
- Direct Known Subclasses:
PercentageOption
,SelectOption
public class IntegerOption extends AbstractOption<java.lang.Integer>
Represents an option where the valid choice is an integer.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.logging.Logger
logger
private static java.lang.String
MAXIMUM_VALUE_TAG
private int
maximumValue
A upper bound on the value of this option.private static java.lang.String
MINIMUM_VALUE_TAG
private int
minimumValue
A lower bound on the value of this option.private static java.lang.String
STEP_SIZE_TAG
private int
stepSize
The step size to be used when this option is displayed using a spinner.static java.lang.String
TAG
private int
value
The value of this option.-
Fields inherited from class net.sf.freecol.common.option.AbstractOption
ACTION_TAG, DEFAULT_VALUE_TAG, isDefined
-
Fields inherited from class net.sf.freecol.common.model.FreeColObject
ARRAY_SIZE_TAG, DEFAULT_CLASS_INDEX, fcoComparator, ID_ATTRIBUTE_TAG, PARTIAL_ATTRIBUTE_TAG, VALUE_TAG
-
-
Constructor Summary
Constructors Constructor Description IntegerOption(java.lang.String id, Specification specification)
Creates a newIntegerOption
.IntegerOption(Specification specification)
Creates a newIntegerOption
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IntegerOption
cloneOption()
Clone this option.int
getMaximumValue()
Get the maximum allowed value.int
getMinimumValue()
Get the minimum allowed value.int
getStepSize()
Gets the step size to be used when this option is displayed using a spinner.java.lang.Integer
getValue()
Gets the value of this option.java.lang.String
getXMLTagName()
Get the serialization tag for this object.int
limitValue(int value)
Limit a value with respect to the limits of this option.protected void
readAttributes(FreeColXMLReader xr)
Reads the attributes of this object from an XML stream.void
setMaximumValue(int maximumValue)
Set the maximum allowed value.void
setMinimumValue(int minimumValue)
Set the minimum allowed value.void
setValue(java.lang.Integer value)
Sets the value of this option.protected void
setValue(java.lang.String valueString, java.lang.String defaultValueString)
Sets the value of this option from the given string representation.java.lang.String
toString()
protected void
writeAttributes(FreeColXMLWriter xw)
Write the attributes of this object to a stream.-
Methods inherited from class net.sf.freecol.common.option.AbstractOption
generateChoices, getEnabledBy, getGroup, isNullValueOK, readOption, setGroup, setValues
-
Methods inherited from class net.sf.freecol.common.model.FreeColSpecObject
copyIn, 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, getFeatureContainer, 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, readChild, readChildren, readFromXML, readFromXMLPartial, removeAbilities, removeAbility, removeFeatures, removeModifier, removeModifiers, removePropertyChangeListener, removePropertyChangeListener, save, save, save, save, serialize, serialize, serialize, serialize, setGame, setId, toXML, toXML, toXMLPartial, toXMLPartial, writeChildren
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sf.freecol.common.ObjectWithId
getId
-
Methods inherited from interface net.sf.freecol.common.option.Option
readFromXML, toXML
-
-
-
-
Field Detail
-
logger
private static final java.util.logging.Logger logger
-
TAG
public static final java.lang.String TAG
- See Also:
- Constant Field Values
-
value
private int value
The value of this option.
-
maximumValue
private int maximumValue
A upper bound on the value of this option.
-
minimumValue
private int minimumValue
A lower bound on the value of this option.
-
stepSize
private int stepSize
The step size to be used when this option is displayed using a spinner.
-
MAXIMUM_VALUE_TAG
private static final java.lang.String MAXIMUM_VALUE_TAG
- See Also:
- Constant Field Values
-
MINIMUM_VALUE_TAG
private static final java.lang.String MINIMUM_VALUE_TAG
- See Also:
- Constant Field Values
-
STEP_SIZE_TAG
private static final java.lang.String STEP_SIZE_TAG
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
IntegerOption
public IntegerOption(Specification specification)
Creates a newIntegerOption
.- Parameters:
specification
- TheSpecification
to refer to.
-
IntegerOption
public IntegerOption(java.lang.String id, Specification specification)
Creates a newIntegerOption
.- Parameters:
id
- The object identifier.specification
- TheSpecification
to refer to.
-
-
Method Detail
-
getMinimumValue
public int getMinimumValue()
Get the minimum allowed value.- Returns:
- The minimum value allowed by this option.
-
setMinimumValue
public void setMinimumValue(int minimumValue)
Set the minimum allowed value.- Parameters:
minimumValue
- The new minimum value.
-
getMaximumValue
public int getMaximumValue()
Get the maximum allowed value.- Returns:
- The maximum value allowed by this option.
-
setMaximumValue
public void setMaximumValue(int maximumValue)
Set the maximum allowed value.- Parameters:
maximumValue
- The new maximum value.
-
limitValue
public int limitValue(int value)
Limit a value with respect to the limits of this option.- Parameters:
value
- The value to limit.- Returns:
- The value limited by the option limits.
-
getStepSize
public int getStepSize()
Gets the step size to be used when this option is displayed using a spinner.- Returns:
- The step size, if defined, or
0
.
-
cloneOption
public IntegerOption cloneOption()
Clone this option.- Specified by:
cloneOption
in interfaceOption<java.lang.Integer>
- Specified by:
cloneOption
in classAbstractOption<java.lang.Integer>
- Returns:
- A clone of this option.
-
getValue
public java.lang.Integer getValue()
Gets the value of this option.- Specified by:
getValue
in interfaceOption<java.lang.Integer>
- Specified by:
getValue
in classAbstractOption<java.lang.Integer>
- Returns:
- The value of this
Option
.
-
setValue
public void setValue(java.lang.Integer value)
Sets the value of this option.- Specified by:
setValue
in interfaceOption<java.lang.Integer>
- Specified by:
setValue
in classAbstractOption<java.lang.Integer>
- Parameters:
value
- The new value of thisOption
.
-
setValue
protected void setValue(java.lang.String valueString, java.lang.String defaultValueString)
Sets the value of this option from the given string representation. Both parameters must not be null at the same time. This method does nothing. Override it if the option has a suitable string representation.- Overrides:
setValue
in classAbstractOption<java.lang.Integer>
- Parameters:
valueString
- The string representation of the value of thisOption
.defaultValueString
- The string representation of the default value of thisOption
.
-
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:
writeAttributes
in classAbstractOption<java.lang.Integer>
- Parameters:
xw
- TheFreeColXMLWriter
to 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:
readAttributes
in classAbstractOption<java.lang.Integer>
- Parameters:
xr
- TheFreeColXMLReader
to 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:
getXMLTagName
in classFreeColObject
- Returns:
- The tag.
-
toString
public java.lang.String toString()
- Specified by:
toString
in interfaceOption<java.lang.Integer>
- Overrides:
toString
in classFreeColObject
-
-