Package ghidra.framework.options

# Class SubOptions

java.lang.Object
ghidra.framework.options.SubOptions

All Implemented Interfaces:
  `Options`

public class SubOptions extends Object implements Options

- ## Field Summary

  ### Fields inherited from interface ghidra.framework.options.Options

  `DELIMITER, DELIMITER_STRING, ILLEGAL_DELIMITER`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SubOptions(AbstractOptions options, String name, String prefix)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `contains(String optionName)`
  Return true if a option exists with the given name.
  `void`
  `createAlias(String aliasName, Options otherOptions, String optionsName)`
  Create an alias in this options for an existing option in some other options object.
  `boolean`
  `equals(Object obj)`
  `ActionTrigger`
  `getActionTrigger(String optionName, ActionTrigger defaultValue)`
  Get the `ActionTrigger` for the given full action name.
  `boolean`
  `getBoolean(String optionName, boolean defaultValue)`
  Get the boolean value for the given option name.
  `byte[]`
  `getByteArray(String optionName, byte[] defaultValue)`
  Get the byte array for the given option name.
  `List<Options>`
  `getChildOptions()`
  Returns a list of Options objects that are nested one level down from this Options object.
  `Color`
  `getColor(String optionName, Color defaultValue)`
  Get the Color for the given option name.
  `CustomOption`
  `getCustomOption(String optionName, CustomOption defaultValue)`
  Get the custom option value for the given option name.
  `Date`
  `getDate(String optionName, Date defaultValue)`
  Get the Date for the given option name.
  `Object`
  `getDefaultValue(String optionName)`
  Returns the default value for the given option.
  `String`
  `getDefaultValueAsString(String optionName)`
  Returns the default value as a string for the given option.
  `String`
  `getDescription(String optionName)`
  Get the description for the given option name.
  `double`
  `getDouble(String optionName, double defaultValue)`
  Get the double value for the given option name.
  `<T extends Enum<T>>
  T`
  `getEnum(String optionName, T defaultValue)`
  Get the Enum value for the given option name.
  `File`
  `getFile(String optionName, File defaultValue)`
  Get the File for the given option name.
  `float`
  `getFloat(String optionName, float defaultValue)`
  Get the float value for the given option name.
  `Font`
  `getFont(String optionName, Font defaultValue)`
  Get the Font for the given option name.
  `HelpLocation`
  `getHelpLocation(String optionName)`
  Get the location for where help can be found for the option with the given name.
  `String`
  `getID(String optionName)`
  Returns a unique id for option in this options with the given name.
  `int`
  `getInt(String optionName, int defaultValue)`
  Get the int value for the given option name.
  `KeyStroke`
  `getKeyStroke(String optionName, KeyStroke defaultValue)`
  Get the KeyStroke for the given action name.
  `List<String>`
  `getLeafOptionNames()`
  Returns a list of option names that immediately fall under this options.
  `long`
  `getLong(String optionName, long defaultValue)`
  Get the long value for the given option name.
  `String`
  `getName()`
  Get the name of this options object.
  `Object`
  `getObject(String optionName, Object defaultValue)`
  Get the object value; called when the options dialog is being populated.
  `List<String>`
  `getOptionNames()`
  Get the list of option names.
  `Options`
  `getOptions(String path)`
  Returns a Options object that is a sub-options of this options.
  `OptionsEditor`
  `getOptionsEditor()`
  Get the editor that will handle editing all the values in this options or sub group of options.
  `HelpLocation`
  `getOptionsHelpLocation()`
  Returns the HelpLocation for this entire Options object.
  `PropertyEditor`
  `getPropertyEditor(String optionName)`
  Get the property editor for the option with the given name.
  `PropertyEditor`
  `getRegisteredPropertyEditor(String optionName)`
  Get the property editor that was registered for the specific option with the given name.
  `String`
  `getString(String optionName, String defaultValue)`
  Get the string value for the given option name.
  `OptionType`
  `getType(String optionName)`
  Returns the OptionType of the given option.
  `String`
  `getValueAsString(String optionName)`
  Returns the value as a string for the given option.
  `int`
  `hashCode()`
  `boolean`
  `isAlias(String aliasName)`
  Returns
  `boolean`
  `isDefaultValue(String optionName)`
  Returns true if the option with the given name's current value is the default value.
  `boolean`
  `isRegistered(String optionName)`
  Returns true if the specified option has been registered.
  `void`
  `putObject(String optionName, Object obj)`
  Put the object value.
  `void`
  `registerOption(String optionName, OptionType type, Object defaultValue, HelpLocation help, String description)`
  Registers an option with a description, help location, and a optional default value.
  `void`
  `registerOption(String optionName, OptionType type, Object defaultValue, HelpLocation help, String description, Supplier<PropertyEditor> editor)`
  Registers an option with a description, help location, and a optional default value.
  `void`
  `registerOption(String optionName, Object defaultValue, HelpLocation help, String description)`
  Registers an option with a description, help location, and a default value without specifying the option type.
  `void`
  `registerOptionsEditor(Supplier<OptionsEditor> editor)`
  Register the options editor that will handle the editing for all the options or a sub-group of options.
  `void`
  `registerThemeColorBinding(String optionName, String colorId, HelpLocation help, String description)`
  Register/binds the option to a theme color id.
  `void`
  `registerThemeFontBinding(String optionName, String fontId, HelpLocation help, String description)`
  Register/binds the option to a theme font id.
  `void`
  `removeOption(String optionName)`
  Remove the option name.
  `void`
  `restoreDefaultValue(String optionName)`
  Restores the option denoted by the given name to its default value.
  `void`
  `restoreDefaultValues()`
  Restores all options contained herein to their default values.
  `void`
  `setActionTrigger(String optionName, ActionTrigger value)`
  Sets the action trigger value for the option
  `void`
  `setBoolean(String optionName, boolean value)`
  Sets the boolean value for the option.
  `void`
  `setByteArray(String optionName, byte[] value)`
  Sets the byte[] value for the given option name.
  `void`
  `setColor(String optionName, Color value)`
  Sets the Color value for the option
  `void`
  `setCustomOption(String optionName, CustomOption value)`
  Sets the Custom option value for the option.
  `void`
  `setDate(String propertyName, Date value)`
  Sets the Date value for the option.
  `void`
  `setDouble(String optionName, double value)`
  Sets the double value for the option.
  `<T extends Enum<T>>
  void`
  `setEnum(String optionName, T value)`
  Set the Enum value for the option.
  `void`
  `setFile(String optionName, File value)`
  Sets the File value for the option.
  `void`
  `setFloat(String optionName, float value)`
  Sets the float value for the option.
  `void`
  `setFont(String optionName, Font value)`
  Sets the Font value for the option
  `void`
  `setInt(String optionName, int value)`
  Sets the int value for the option.
  `void`
  `setKeyStroke(String optionName, KeyStroke value)`
  Sets the KeyStroke value for the option
  `void`
  `setLong(String optionName, long value)`
  Sets the long value for the option.
  `void`
  `setOptionsHelpLocation(HelpLocation helpLocation)`
  Set the location for where help can be found for this entire options object.
  `void`
  `setString(String optionName, String value)`
  Set the String value for the option.
  `String`
  `toString()`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface ghidra.framework.options.Options

  `registerOption, registerOptionsEditor`

- ## Constructor Details

  - ### SubOptions

    public SubOptions(AbstractOptions options, String name, String prefix)

- ## Method Details

  - ### getName

    public String getName()
    Description copied from interface: `Options`
    Get the name of this options object.
    Specified by:
      `getName` in interface `Options`
    Returns:
      String

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### getPropertyEditor

    public PropertyEditor getPropertyEditor(String optionName)
    Description copied from interface: `Options`
    Get the property editor for the option with the given name. Note: This method must be called from the swing thread.
    Specified by:
      `getPropertyEditor` in interface `Options`
    Parameters:
      `optionName` - the option name
    Returns:
      either the PropertyEditor that was registered for this option or a default editor for the property type if one can be found; otherwise null.

  - ### getRegisteredPropertyEditor

    public PropertyEditor getRegisteredPropertyEditor(String optionName)
    Description copied from interface: `Options`
    Get the property editor that was registered for the specific option with the given name. Unlike the getPropertyEditor() method, this method does not have to be called from the swing thread
    Specified by:
      `getRegisteredPropertyEditor` in interface `Options`
    Parameters:
      `optionName` - the option name
    Returns:
      the PropertyEditor that was registered for this option.

  - ### getChildOptions

    public List<Options> getChildOptions()
    Description copied from interface: `Options`
    Returns a list of Options objects that are nested one level down from this Options object.
    Specified by:
      `getChildOptions` in interface `Options`
    Returns:
      a list of Options objects that are nested one level down from this Options object.

  - ### getHelpLocation

    public HelpLocation getHelpLocation(String optionName)
    Description copied from interface: `Options`
    Get the location for where help can be found for the option with the given name.
    Specified by:
      `getHelpLocation` in interface `Options`
    Parameters:
      `optionName` - name of the option
    Returns:
      null if the help location was not set on the option

  - ### registerOption

    public void registerOption(String optionName, Object defaultValue, HelpLocation help, String description)
    Description copied from interface: `Options`
    Registers an option with a description, help location, and a default value without specifying the option type. This form requires that the default value not be null so that the option type can be inferred from the default value.

    Note, this method should not be used for colors and font as doing so will result in those colors and fonts becoming disconnected to the current theme. Instead use `Options.registerThemeColorBinding(String, String, HelpLocation, String)` or `Options.registerThemeFontBinding(String, String, HelpLocation, String)`.

    Specified by:
      `registerOption` in interface `Options`
    Parameters:
      `optionName` - the name of the option being registered.
      `defaultValue` - the defaultValue for the option. The default value must not be null so that the OptionType can be determined. If the default value should be null, use `Options.registerOption(String, OptionType, Object, HelpLocation, String)`
      `help` - the HelpLocation for this option.
      `description` - a description of the option.

  - ### registerOption

    public void registerOption(String optionName, OptionType type, Object defaultValue, HelpLocation help, String description)
    Description copied from interface: `Options`
    Registers an option with a description, help location, and a optional default value. With an optional default value, an OptionType must be passed as it is otherwise derived from the default value.

    Note, this method should not be used for colors and font as doing so will result in those colors and fonts becoming disconnected to the current theme. Instead use `Options.registerThemeColorBinding(String, String, HelpLocation, String)` or `Options.registerThemeFontBinding(String, String, HelpLocation, String)`.

    Specified by:
      `registerOption` in interface `Options`
    Parameters:
      `optionName` - the name of the option being registered.
      `type` - the OptionType for this options.
      `defaultValue` - the defaultValue for the option. In this version of the method, the default value may be null.
      `help` - the HelpLocation for this option.
      `description` - a description of the option.

  - ### registerOption

    public void registerOption(String optionName, OptionType type, Object defaultValue, HelpLocation help, String description, Supplier<PropertyEditor> editor)
    Description copied from interface: `Options`
    Registers an option with a description, help location, and a optional default value. With an optional default value, an OptionType must be passed as it is otherwise derived from the default value.

    Note, this method should not be used for colors and font as doing so will result in those colors and fonts becoming disconnected to the current theme. Instead use `Options.registerThemeColorBinding(String, String, HelpLocation, String)` or `Options.registerThemeFontBinding(String, String, HelpLocation, String)`.

    Note 1: we use a supplier of a custom editor, instead of a custom editor, to avoid creating `PropertyEditor`s until needed. This allows us to use the same API in both GUI mode and headless mode. If GUI property editors are created in headless mode, exceptions may be thrown. This API will not use the supplier when in headless mode, this avoiding the creation of GUI components. For this to work correctly, clients using custom property editors must defer construction of the editor until the supplier is called.

    Note 2: most clients are calling this API on the Swing thread, but that is not a requirement. Any clients calling this method not on the Swing thread that also have a custom property editor, need to ensure they create that editor on the Swing thread (this is a Java requirement).

    Specified by:
      `registerOption` in interface `Options`
    Parameters:
      `optionName` - the name of the option being registered.
      `type` - the OptionType for this options.
      `defaultValue` - the defaultValue for the option. In this version of the method, the default value may be null.
      `help` - the HelpLocation for this option.
      `description` - a description of the option.
      `editor` - an optional supplier of a custom editor for this property. Note if the option is a custom option, then the property editor can't be null;

  - ### registerThemeColorBinding

    public void registerThemeColorBinding(String optionName, String colorId, HelpLocation help, String description)
    Description copied from interface: `Options`
    Register/binds the option to a theme color id. Changing the option's color via the options Gui will result in directly changing the theme color of the given color id.
    Specified by:
      `registerThemeColorBinding` in interface `Options`
    Parameters:
      `optionName` - the name of the color option
      `colorId` - the theme color id whose color value is changed when the option's color is changed
      `help` - the HelpLocation for this option
      `description` - a description of the option

  - ### registerThemeFontBinding

    public void registerThemeFontBinding(String optionName, String fontId, HelpLocation help, String description)
    Description copied from interface: `Options`
    Register/binds the option to a theme font id. Changing the option's font via the options Gui will result in directly changing the theme color of the given font id.
    Specified by:
      `registerThemeFontBinding` in interface `Options`
    Parameters:
      `optionName` - the name of the font option
      `fontId` - the theme color id whose color value is changed when the option's color is changed
      `help` - the HelpLocation for this option
      `description` - a description of the option

  - ### putObject

    public void putObject(String optionName, Object obj)
    Description copied from interface: `Options`
    Put the object value. If the option exists, the type must match the type of the existing object.
    Specified by:
      `putObject` in interface `Options`
    Parameters:
      `optionName` - the option name
      `obj` - the option value

  - ### getObject

    public Object getObject(String optionName, Object defaultValue)
    Description copied from interface: `Options`
    Get the object value; called when the options dialog is being populated.
    Specified by:
      `getObject` in interface `Options`
    Parameters:
      `optionName` - option name
      `defaultValue` - default value
    Returns:
      object with the given option name; if no option was found, return default value (this value is not stored in the option maps)

  - ### getBoolean

    public boolean getBoolean(String optionName, boolean defaultValue)
    Description copied from interface: `Options`
    Get the boolean value for the given option name.
    Specified by:
      `getBoolean` in interface `Options`
    Parameters:
      `optionName` - option name
      `defaultValue` - value that is stored and returned if there is no option with the given name.
    Returns:
      boolean option value

  - ### getByteArray

    public byte[] getByteArray(String optionName, byte[] defaultValue)
    Description copied from interface: `Options`
    Get the byte array for the given option name.
    Specified by:
      `getByteArray` in interface `Options`
    Parameters:
      `optionName` - option name
      `defaultValue` - value that is stored and returned if there is no option with the given name
    Returns:
      byte[] byte array value

  - ### getInt

    public int getInt(String optionName, int defaultValue)
    Description copied from interface: `Options`
    Get the int value for the given option name.
    Specified by:
      `getInt` in interface `Options`
    Parameters:
      `optionName` - option name
      `defaultValue` - value that is stored and returned if there is no option with the given name
    Returns:
      int option value

  - ### getDouble

    public double getDouble(String optionName, double defaultValue)
    Description copied from interface: `Options`
    Get the double value for the given option name.
    Specified by:
      `getDouble` in interface `Options`
    Parameters:
      `optionName` - option name
      `defaultValue` - value that is stored and returned if there is no option with the given name
    Returns:
      double value for the option

  - ### getFloat

    public float getFloat(String optionName, float defaultValue)
    Description copied from interface: `Options`
    Get the float value for the given option name.
    Specified by:
      `getFloat` in interface `Options`
    Parameters:
      `optionName` - option name
      `defaultValue` - value that is stored and returned if there is no option with the given name
    Returns:
      float value for the option

  - ### getLong

    public long getLong(String optionName, long defaultValue)
    Description copied from interface: `Options`
    Get the long value for the given option name.
    Specified by:
      `getLong` in interface `Options`
    Parameters:
      `optionName` - option name
      `defaultValue` - value that is stored and returned if there is no option with the given name
    Returns:
      long value for the option

  - ### getCustomOption

    public CustomOption getCustomOption(String optionName, CustomOption defaultValue)
    Description copied from interface: `Options`
    Get the custom option value for the given option name.
    Specified by:
      `getCustomOption` in interface `Options`
    Parameters:
      `optionName` - option name
      `defaultValue` - value that is stored and returned if there is no option with the given name
    Returns:
      WrappedOption value for the option

  - ### getColor

    public Color getColor(String optionName, Color defaultValue)
    Description copied from interface: `Options`
    Get the Color for the given option name.
    Specified by:
      `getColor` in interface `Options`
    Parameters:
      `optionName` - option name
      `defaultValue` - value that is stored and returned if there is no option with the given name
    Returns:
      Color option

  - ### getFile

    public File getFile(String optionName, File defaultValue)
    Description copied from interface: `Options`
    Get the File for the given option name.
    Specified by:
      `getFile` in interface `Options`
    Parameters:
      `optionName` - option name
      `defaultValue` - value that is stored and returned if there is no option with the given name
    Returns:
      File option

  - ### getFont

    public Font getFont(String optionName, Font defaultValue)
    Description copied from interface: `Options`
    Get the Font for the given option name.
    Specified by:
      `getFont` in interface `Options`
    Parameters:
      `optionName` - option name
      `defaultValue` - value that is stored and returned if there is no option with the given name
    Returns:
      Font option

  - ### getKeyStroke

    public KeyStroke getKeyStroke(String optionName, KeyStroke defaultValue)
    Description copied from interface: `Options`
    Get the KeyStroke for the given action name.
    Specified by:
      `getKeyStroke` in interface `Options`
    Parameters:
      `optionName` - the option name
      `defaultValue` - value that is stored and returned if there is no option with the given name
    Returns:
      KeyStroke option

  - ### getActionTrigger

    public ActionTrigger getActionTrigger(String optionName, ActionTrigger defaultValue)
    Description copied from interface: `Options`
    Get the `ActionTrigger` for the given full action name.
    Specified by:
      `getActionTrigger` in interface `Options`
    Parameters:
      `optionName` - the action name
      `defaultValue` - value that is stored and returned if there is no option with the given name
    Returns:
      the action trigger

  - ### getString

    public String getString(String optionName, String defaultValue)
    Description copied from interface: `Options`
    Get the string value for the given option name.
    Specified by:
      `getString` in interface `Options`
    Parameters:
      `optionName` - option name
      `defaultValue` - value that is stored and returned if there is no option with the given name
    Returns:
      String value for the option

  - ### getEnum

    public <T extends Enum<T>> T getEnum(String optionName, T defaultValue)
    Description copied from interface: `Options`
    Get the Enum value for the given option name.
    Specified by:
      `getEnum` in interface `Options`
    Parameters:
      `optionName` - option name
      `defaultValue` - default value that is stored and returned if there is no option with the given name
    Returns:
      Enum value for the option

  - ### setLong

    public void setLong(String optionName, long value)
    Description copied from interface: `Options`
    Sets the long value for the option.
    Specified by:
      `setLong` in interface `Options`
    Parameters:
      `optionName` - name of the option
      `value` - value of the option

  - ### setBoolean

    public void setBoolean(String optionName, boolean value)
    Description copied from interface: `Options`
    Sets the boolean value for the option.
    Specified by:
      `setBoolean` in interface `Options`
    Parameters:
      `optionName` - name of the option
      `value` - value of the option

  - ### setInt

    public void setInt(String optionName, int value)
    Description copied from interface: `Options`
    Sets the int value for the option.
    Specified by:
      `setInt` in interface `Options`
    Parameters:
      `optionName` - name of the option
      `value` - value of the option

  - ### setDouble

    public void setDouble(String optionName, double value)
    Description copied from interface: `Options`
    Sets the double value for the option.
    Specified by:
      `setDouble` in interface `Options`
    Parameters:
      `optionName` - name of the option
      `value` - value of the option

  - ### setFloat

    public void setFloat(String optionName, float value)
    Description copied from interface: `Options`
    Sets the float value for the option.
    Specified by:
      `setFloat` in interface `Options`
    Parameters:
      `optionName` - name of the option
      `value` - value of the option

  - ### setCustomOption

    public void setCustomOption(String optionName, CustomOption value)
    Description copied from interface: `Options`
    Sets the Custom option value for the option.
    Specified by:
      `setCustomOption` in interface `Options`
    Parameters:
      `optionName` - name of the option
      `value` - the value

  - ### setByteArray

    public void setByteArray(String optionName, byte[] value)
    Description copied from interface: `Options`
    Sets the byte[] value for the given option name.
    Specified by:
      `setByteArray` in interface `Options`
    Parameters:
      `optionName` - the name of the option on which to save bytes.
      `value` - the value

  - ### setFile

    public void setFile(String optionName, File value)
    Description copied from interface: `Options`
    Sets the File value for the option.
    Specified by:
      `setFile` in interface `Options`
    Parameters:
      `optionName` - name of the option
      `value` - the value

  - ### setColor

    public void setColor(String optionName, Color value)
    Description copied from interface: `Options`
    Sets the Color value for the option
    Specified by:
      `setColor` in interface `Options`
    Parameters:
      `optionName` - name of the option
      `value` - Color to set

  - ### setFont

    public void setFont(String optionName, Font value)
    Description copied from interface: `Options`
    Sets the Font value for the option
    Specified by:
      `setFont` in interface `Options`
    Parameters:
      `optionName` - name of the option
      `value` - Font to set

  - ### setKeyStroke

    public void setKeyStroke(String optionName, KeyStroke value)
    Description copied from interface: `Options`
    Sets the KeyStroke value for the option
    Specified by:
      `setKeyStroke` in interface `Options`
    Parameters:
      `optionName` - name of the option
      `value` - KeyStroke to set

  - ### setActionTrigger

    public void setActionTrigger(String optionName, ActionTrigger value)
    Description copied from interface: `Options`
    Sets the action trigger value for the option
    Specified by:
      `setActionTrigger` in interface `Options`
    Parameters:
      `optionName` - name of the option
      `value` - action trigger to set

  - ### setString

    public void setString(String optionName, String value)
    Description copied from interface: `Options`
    Set the String value for the option.
    Specified by:
      `setString` in interface `Options`
    Parameters:
      `optionName` - name of the option
      `value` - value of the option

  - ### setEnum

    public <T extends Enum<T>> void setEnum(String optionName, T value)
    Description copied from interface: `Options`
    Set the Enum value for the option.
    Specified by:
      `setEnum` in interface `Options`
    Parameters:
      `optionName` - name of the option
      `value` - Enum value of the option

  - ### removeOption

    public void removeOption(String optionName)
    Description copied from interface: `Options`
    Remove the option name.
    Specified by:
      `removeOption` in interface `Options`
    Parameters:
      `optionName` - name of option to remove

  - ### getOptionNames

    public List<String> getOptionNames()
    Description copied from interface: `Options`
    Get the list of option names. This method will return the names (paths) of all options contained in this options object or below. For example, if the options has ("aaa", "bbb", "ccc.ddd"), all three will be returned. the `Options.getLeafOptionNames()` method will return only the "aaa" and "bbb" names.
    Specified by:
      `getOptionNames` in interface `Options`
    Returns:
      the list of all option names(paths) under this options.

  - ### contains

    public boolean contains(String optionName)
    Description copied from interface: `Options`
    Return true if a option exists with the given name.
    Specified by:
      `contains` in interface `Options`
    Parameters:
      `optionName` - option name
    Returns:
      true if there exists an option with the given name

  - ### getDescription

    public String getDescription(String optionName)
    Description copied from interface: `Options`
    Get the description for the given option name.
    Specified by:
      `getDescription` in interface `Options`
    Parameters:
      `optionName` - name of the option
    Returns:
      null if the description or option name does not exist

  - ### isRegistered

    public boolean isRegistered(String optionName)
    Description copied from interface: `Options`
    Returns true if the specified option has been registered. Only registered names are saved.
    Specified by:
      `isRegistered` in interface `Options`
    Parameters:
      `optionName` - the option name
    Returns:
      true if registered

  - ### isDefaultValue

    public boolean isDefaultValue(String optionName)
    Description copied from interface: `Options`
    Returns true if the option with the given name's current value is the default value.
    Specified by:
      `isDefaultValue` in interface `Options`
    Parameters:
      `optionName` - the name of the option.
    Returns:
      true if the options has its current value equal to its default value.

  - ### restoreDefaultValues

    public void restoreDefaultValues()
    Description copied from interface: `Options`
    Restores all options contained herein to their default values.
    Specified by:
      `restoreDefaultValues` in interface `Options`
    See Also:
      - `Options.restoreDefaultValue(String)`

  - ### restoreDefaultValue

    public void restoreDefaultValue(String optionName)
    Description copied from interface: `Options`
    Restores the option denoted by the given name to its default value.
    Specified by:
      `restoreDefaultValue` in interface `Options`
    Parameters:
      `optionName` - The name of the option to restore
    See Also:
      - `Options.restoreDefaultValues()`

  - ### getType

    public OptionType getType(String optionName)
    Description copied from interface: `Options`
    Returns the OptionType of the given option.
    Specified by:
      `getType` in interface `Options`
    Parameters:
      `optionName` - the name of the option for which to get the type.
    Returns:
      the OptionType of option with the given name.

  - ### getOptions

    public Options getOptions(String path)
    Description copied from interface: `Options`
    Returns a Options object that is a sub-options of this options.

    Note: the option path can have `Options.DELIMITER` characters which will be used to create a hierarchy with each element in the path resulting in sub-option of the previous path element.

    Specified by:
      `getOptions` in interface `Options`
    Parameters:
      `path` - the path for the sub-options object
    Returns:
      an Options object that is a sub-options of this options

  - ### setOptionsHelpLocation

    public void setOptionsHelpLocation(HelpLocation helpLocation)
    Description copied from interface: `Options`
    Set the location for where help can be found for this entire options object.
    Specified by:
      `setOptionsHelpLocation` in interface `Options`
    Parameters:
      `helpLocation` - location for help on the option

  - ### getOptionsHelpLocation

    public HelpLocation getOptionsHelpLocation()
    Description copied from interface: `Options`
    Returns the HelpLocation for this entire Options object.
    Specified by:
      `getOptionsHelpLocation` in interface `Options`
    Returns:
      the HelpLocation for this entire Options object.

  - ### registerOptionsEditor

    public void registerOptionsEditor(Supplier<OptionsEditor> editor)
    Description copied from interface: `Options`
    Register the options editor that will handle the editing for all the options or a sub-group of options.

    Note: we use a supplier of a custom editor, instead of a custom editor, to avoid creating `PropertyEditor`s until needed. This allows us to use the same API in both GUI mode and headless mode. If GUI property editors are created in headless mode, exceptions may be thrown. This API will not use the supplier when in headless mode, this avoiding the creation of GUI components. For this to work correctly, clients using custom property editors must defer construction of the editor until the supplier is called.

    Specified by:
      `registerOptionsEditor` in interface `Options`
    Parameters:
      `editor` - a supplier for the custom editor panel to be used to edit the options or sub-group of options.

  - ### getOptionsEditor

    public OptionsEditor getOptionsEditor()
    Description copied from interface: `Options`
    Get the editor that will handle editing all the values in this options or sub group of options.
    Specified by:
      `getOptionsEditor` in interface `Options`
    Returns:
      null if no options editor was registered

  - ### createAlias

    public void createAlias(String aliasName, Options otherOptions, String optionsName)
    Description copied from interface: `Options`
    Create an alias in this options for an existing option in some other options object.
    Specified by:
      `createAlias` in interface `Options`
    Parameters:
      `aliasName` - the name within this options object that will actually refer to some other options object.
      `otherOptions` - the options object that has the actual option.
      `optionsName` - the name within the given options object of the actual option.

  - ### isAlias

    public boolean isAlias(String aliasName)
    Description copied from interface: `Options`
    Returns
    Specified by:
      `isAlias` in interface `Options`
    Parameters:
      `aliasName` - the name of the alias.
    Returns:
      a Options object that is a sub-options of this options.

  - ### getDate

    public Date getDate(String optionName, Date defaultValue)
    Description copied from interface: `Options`
    Get the Date for the given option name.
    Specified by:
      `getDate` in interface `Options`
    Parameters:
      `optionName` - the property name
      `defaultValue` - the default date that is stored and returned if there is no option with the given name
    Returns:
      the Date for the option

  - ### setDate

    public void setDate(String propertyName, Date value)
    Description copied from interface: `Options`
    Sets the Date value for the option.
    Specified by:
      `setDate` in interface `Options`
    Parameters:
      `propertyName` - name of the option
      `value` - the Date to set

  - ### getDefaultValue

    public Object getDefaultValue(String optionName)
    Description copied from interface: `Options`
    Returns the default value for the given option.
    Specified by:
      `getDefaultValue` in interface `Options`
    Parameters:
      `optionName` - the name of the option for which to retrieve the default value.
    Returns:
      the default value for the given option.

  - ### getValueAsString

    public String getValueAsString(String optionName)
    Description copied from interface: `Options`
    Returns the value as a string for the given option.
    Specified by:
      `getValueAsString` in interface `Options`
    Parameters:
      `optionName` - the name of the option for which to retrieve the value as a string
    Returns:
      the value as a string for the given option.

  - ### getDefaultValueAsString

    public String getDefaultValueAsString(String optionName)
    Description copied from interface: `Options`
    Returns the default value as a string for the given option.
    Specified by:
      `getDefaultValueAsString` in interface `Options`
    Parameters:
      `optionName` - the name of the option for which to retrieve the default value as a string
    Returns:
      the default value as a string for the given option.

  - ### getID

    public String getID(String optionName)
    Description copied from interface: `Options`
    Returns a unique id for option in this options with the given name. This will be the full path name to the root options object.
    Specified by:
      `getID` in interface `Options`
    Parameters:
      `optionName` - the name of the option for which to get an ID;
    Returns:
      the unique ID for the given option.

  - ### getLeafOptionNames

    public List<String> getLeafOptionNames()
    Description copied from interface: `Options`
    Returns a list of option names that immediately fall under this options. For example, if this options object had the following options named ("a", "b", "c.d"), only "a" and "b" would be returned. The "c.d" leaf option name could be returned by getOptions("c").getLeafOptionNames()
    Specified by:
      `getLeafOptionNames` in interface `Options`
    Returns:
      the list of the names of the options that are immediate children of this options object.

  - ### equals

    public boolean equals(Object obj)
    Overrides:
      `equals` in class `Object`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`