Class OptionConfigKey<T>
- java.lang.Object
-
- uk.ac.starlink.ttools.plot2.config.ConfigKey<T>
-
- uk.ac.starlink.ttools.plot2.config.OptionConfigKey<T>
-
- Direct Known Subclasses:
MultiPointConfigKey
,PerUnitConfigKey
,SkySysConfigKey
public abstract class OptionConfigKey<T> extends ConfigKey<T>
Config key for use with items that can be chosen from a list of options. The list is basically closed, though it may be possible programmatically to supply an object of the required type. For open lists of options seeChoiceConfigKey
.- Since:
- 23 Feb 2013
- Author:
- Mark Taylor
-
-
Constructor Summary
Constructors Constructor Description OptionConfigKey(ConfigMeta meta, java.lang.Class<T> clazz, T[] options)
Constructor that uses the first of the supplied options as a default.OptionConfigKey(ConfigMeta meta, java.lang.Class<T> clazz, T[] options, T dflt)
Constructor that specifies an explicit default and uses the default specifier type.OptionConfigKey(ConfigMeta meta, java.lang.Class<T> clazz, T[] options, T dflt, boolean useRadio)
Constructor that specifies an explicit default and specifier type.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description OptionConfigKey<T>
addOptionsXml()
Convenience method to add the result ofgetOptionsXml()
to the XML documentation of this key.Specifier<T>
createSpecifier()
Constructs a graphical control with which the user can specify a suitable value for association with this key.T[]
getOptions()
Returns the available options for this key.java.lang.String
getOptionsXml()
Returns an XML list of the available options for this config key.abstract java.lang.String
getXmlDescription(T value)
Returns a description in XML of the given option value.OptionConfigKey<T>
setOptionUsage()
Sets the usage string based on the currently configured options.T
stringToValue(java.lang.String txt)
CallsvalueToString
repeatedly looking for a match.java.lang.String
valueToString(T value)
Invokes thetoString
method of the supplied option.-
Methods inherited from class uk.ac.starlink.ttools.plot2.config.ConfigKey
cast, getDefaultValue, getMeta, getValueClass, toString
-
-
-
-
Constructor Detail
-
OptionConfigKey
public OptionConfigKey(ConfigMeta meta, java.lang.Class<T> clazz, T[] options, T dflt, boolean useRadio)
Constructor that specifies an explicit default and specifier type.- Parameters:
meta
- metadataclazz
- class to which all the possible options belongoptions
- array of possible values for this keydflt
- default option, should be one ofoptions
useRadio
- true to use radio buttons, false for a combo box
-
OptionConfigKey
public OptionConfigKey(ConfigMeta meta, java.lang.Class<T> clazz, T[] options, T dflt)
Constructor that specifies an explicit default and uses the default specifier type.- Parameters:
meta
- metadataclazz
- class to which all the possible options belongoptions
- array of possible values for this keydflt
- default option, should be one ofoptions
-
OptionConfigKey
public OptionConfigKey(ConfigMeta meta, java.lang.Class<T> clazz, T[] options)
Constructor that uses the first of the supplied options as a default.- Parameters:
meta
- metadataclazz
- class to which all the possible options belongoptions
- array of possible values for this key, first element is used as the default value
-
-
Method Detail
-
valueToString
public java.lang.String valueToString(T value)
Invokes thetoString
method of the supplied option. May be overridden.- Specified by:
valueToString
in classConfigKey<T>
- Parameters:
value
- possible value associated with this key- Returns:
- string representation
-
getXmlDescription
public abstract java.lang.String getXmlDescription(T value)
Returns a description in XML of the given option value. This, along withvalueToString(T)
, is used by thegetOptionsXml()
method to assemble a described list of the options.- Parameters:
value
- possible value of this key- Returns:
- short snippet of XML (not wrapped in any outer element) describing the value; may be null if no description required or available
-
stringToValue
public T stringToValue(java.lang.String txt) throws ConfigException
CallsvalueToString
repeatedly looking for a match. This means that ifvalueToString
is overridden it is usually not necessary to override this method.- Specified by:
stringToValue
in classConfigKey<T>
- Parameters:
txt
- string representation of value- Returns:
- value
- Throws:
ConfigException
-
getOptions
public T[] getOptions()
Returns the available options for this key.- Returns:
- choosable values
-
createSpecifier
public Specifier<T> createSpecifier()
Description copied from class:ConfigKey
Constructs a graphical control with which the user can specify a suitable value for association with this key.- Specified by:
createSpecifier
in classConfigKey<T>
- Returns:
- new specifier
-
setOptionUsage
public OptionConfigKey<T> setOptionUsage()
Sets the usage string based on the currently configured options. This method calls setStringUsage.- Returns:
- this object, as a convenience
-
addOptionsXml
public OptionConfigKey<T> addOptionsXml()
Convenience method to add the result ofgetOptionsXml()
to the XML documentation of this key.- Returns:
- this object, as a convenience
-
getOptionsXml
public java.lang.String getOptionsXml()
Returns an XML list of the available options for this config key. Descriptions are not included.- Returns:
- p element
-
-