uk.ac.starlink.ttools.plot2.config
Class OptionConfigKey<T>

java.lang.Object
  extended by uk.ac.starlink.ttools.plot2.config.ConfigKey<T>
      extended by uk.ac.starlink.ttools.plot2.config.OptionConfigKey<T>
Direct Known Subclasses:
MultiPointConfigKey, ShaderConfigKey, 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 see ChoiceConfigKey.

Since:
23 Feb 2013
Author:
Mark Taylor

Constructor Summary
OptionConfigKey(ConfigMeta meta, Class<T> clazz, T[] options)
          Constructor that uses the first of the supplied options as a default.
OptionConfigKey(ConfigMeta meta, Class<T> clazz, T[] options, T dflt)
          Constructor that specifies an explicit default and uses the default specifier type.
OptionConfigKey(ConfigMeta meta, Class<T> clazz, T[] options, T dflt, boolean useRadio)
          Constructor that specifies an explicit default and specifier type.
 
Method Summary
 OptionConfigKey<T> addOptionsXml()
          Convenience method to add the result of getOptionsXml() 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.
 String getOptionsXml()
          Returns an XML list of the available options for this config key.
abstract  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(String txt)
          Calls valueToString repeatedly looking for a match.
 String valueToString(T value)
          Invokes the toString method of the supplied option.
 
Methods inherited from class uk.ac.starlink.ttools.plot2.config.ConfigKey
cast, getDefaultValue, getMeta, getValueClass, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OptionConfigKey

public OptionConfigKey(ConfigMeta meta,
                       Class<T> clazz,
                       T[] options,
                       T dflt,
                       boolean useRadio)
Constructor that specifies an explicit default and specifier type.

Parameters:
meta - metadata
clazz - class to which all the possible options belong
options - array of possible values for this key
dflt - default option, should be one of options
useRadio - true to use radio buttons, false for a combo box

OptionConfigKey

public OptionConfigKey(ConfigMeta meta,
                       Class<T> clazz,
                       T[] options,
                       T dflt)
Constructor that specifies an explicit default and uses the default specifier type.

Parameters:
meta - metadata
clazz - class to which all the possible options belong
options - array of possible values for this key
dflt - default option, should be one of options

OptionConfigKey

public OptionConfigKey(ConfigMeta meta,
                       Class<T> clazz,
                       T[] options)
Constructor that uses the first of the supplied options as a default.

Parameters:
meta - metadata
clazz - class to which all the possible options belong
options - array of possible values for this key, first element is used as the default value
Method Detail

valueToString

public String valueToString(T value)
Invokes the toString method of the supplied option. May be overridden.

Specified by:
valueToString in class ConfigKey<T>
Parameters:
value - possible value associated with this key
Returns:
string representation

getXmlDescription

public abstract String getXmlDescription(T value)
Returns a description in XML of the given option value. This, along with valueToString(T), is used by the getOptionsXml() 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(String txt)
                throws ConfigException
Calls valueToString repeatedly looking for a match. This means that if valueToString is overridden it is usually not necessary to override this method.

Specified by:
stringToValue in class ConfigKey<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 class ConfigKey<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 of getOptionsXml() to the XML documentation of this key.

Returns:
this object, as a convenience

getOptionsXml

public String getOptionsXml()
Returns an XML list of the available options for this config key. Descriptions are not included.

Returns:
p element


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.