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.StringgetOptionsXml()Returns an XML list of the available options for this config key.abstract java.lang.StringgetXmlDescription(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.TstringToValue(java.lang.String txt)CallsvalueToStringrepeatedly looking for a match.java.lang.StringvalueToString(T value)Invokes thetoStringmethod 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 ofoptionsuseRadio- 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 thetoStringmethod of the supplied option. May be overridden.- Specified by:
valueToStringin 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
CallsvalueToStringrepeatedly looking for a match. This means that ifvalueToStringis overridden it is usually not necessary to override this method.- Specified by:
stringToValuein 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:ConfigKeyConstructs a graphical control with which the user can specify a suitable value for association with this key.- Specified by:
createSpecifierin 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
-
-