Interface Options

    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean contains​(java.lang.String optionName)
      Return true if a option exists with the given name.
      void createAlias​(java.lang.String aliasName, Options options, java.lang.String optionsName)
      Create an alias in this options for an existing option in some other options object.
      boolean getBoolean​(java.lang.String optionName, boolean defaultValue)
      Get the boolean value for the given option name.
      byte[] getByteArray​(java.lang.String optionName, byte[] defaultValue)
      Get the byte array for the given option name.
      java.util.List<Options> getChildOptions()
      Returns a list of Options objects that are nested one level down from this Options object.
      java.awt.Color getColor​(java.lang.String optionName, java.awt.Color defaultValue)
      Get the Color for the given option name.
      CustomOption getCustomOption​(java.lang.String optionName, CustomOption defaultValue)
      Get the custom option value for the given option name.
      java.util.Date getDate​(java.lang.String pName, java.util.Date date)
      Get the Date for the given option name.
      java.lang.Object getDefaultValue​(java.lang.String optionName)
      Returns the default value for the given option.
      java.lang.String getDefaultValueAsString​(java.lang.String optionName)
      Returns the default value as a string for the given option.
      java.lang.String getDescription​(java.lang.String optionName)
      Get the description for the given option name.
      double getDouble​(java.lang.String optionName, double defaultValue)
      Get the double value for the given option name.
      <T extends java.lang.Enum<T>>
      T
      getEnum​(java.lang.String optionName, T defaultValue)
      Get the Enum value for the given option name.
      java.io.File getFile​(java.lang.String optionName, java.io.File defaultValue)
      Get the File for the given option name.
      float getFloat​(java.lang.String optionName, float defaultValue)
      Get the float value for the given option name.
      java.awt.Font getFont​(java.lang.String optionName, java.awt.Font defaultValue)
      Get the Font for the given option name.
      HelpLocation getHelpLocation​(java.lang.String optionName)
      Get the location for where help can be found for the option with the given name.
      java.lang.String getID​(java.lang.String optionName)
      Returns a unique id for option in this options with the given name.
      int getInt​(java.lang.String optionName, int defaultValue)
      Get the int value for the given option name.
      javax.swing.KeyStroke getKeyStroke​(java.lang.String optionName, javax.swing.KeyStroke defaultValue)
      Get the KeyStrokg for the given action name.
      java.util.List<java.lang.String> getLeafOptionNames()
      Returns a list of option names that immediately fall under this options.
      long getLong​(java.lang.String optionName, long defaultValue)
      Get the long value for the given option name.
      java.lang.String getName()
      Get the name of this options object.
      java.lang.Object getObject​(java.lang.String optionName, java.lang.Object defaultValue)
      Get the object value; called when the options dialog is being populated.
      java.util.List<java.lang.String> getOptionNames()
      Get the list of option names.
      Options getOptions​(java.lang.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.
      java.beans.PropertyEditor getPropertyEditor​(java.lang.String optionName)
      Get the property editor for the option with the given name.
      java.beans.PropertyEditor getRegisteredPropertyEditor​(java.lang.String optionName)
      Get the property editor that was registered for the specific option with the given name.
      java.lang.String getString​(java.lang.String optionName, java.lang.String defaultValue)
      Get the string value for the given option name.
      OptionType getType​(java.lang.String optionName)
      Returns the OptionType of the given option.
      java.lang.String getValueAsString​(java.lang.String name)
      Returns the value as a string for the given option.
      static boolean hasSameOptionsAndValues​(Options options1, Options options2)
      Returns true if the two options objects have the same set of options and values
      boolean isAlias​(java.lang.String aliasName)
      Returns
      boolean isDefaultValue​(java.lang.String optionName)
      Returns true if the option with the given name's current value is the default value.
      boolean isRegistered​(java.lang.String optionName)
      Returns true if the specified option has been registered.
      void putObject​(java.lang.String optionName, java.lang.Object obj)
      Put the object value.
      void registerOption​(java.lang.String optionName, OptionType type, java.lang.Object defaultValue, HelpLocation help, java.lang.String description)
      Registers an option with a description, help location, and a optional default value.
      void registerOption​(java.lang.String optionName, OptionType type, java.lang.Object defaultValue, HelpLocation help, java.lang.String description, java.beans.PropertyEditor editor)
      Registers an option with a description, help location, and a optional default value.
      void registerOption​(java.lang.String optionName, java.lang.Object defaultValue, HelpLocation help, java.lang.String description)
      Registers an option with a description, help location, and a default value without specifying the option type.
      void registerOptionsEditor​(OptionsEditor editor)
      Register the options editor that will handle the editing for all the options or a sub group of options.
      void removeOption​(java.lang.String optionName)
      Remove the option name.
      void restoreDefaultValue​(java.lang.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 setBoolean​(java.lang.String optionName, boolean value)
      Sets the boolean value for the option.
      void setByteArray​(java.lang.String optionName, byte[] value)
      Sets the byte[] value for the given option name.
      void setColor​(java.lang.String optionName, java.awt.Color value)
      Sets the Color value for the option
      void setCustomOption​(java.lang.String optionName, CustomOption value)
      Sets the Custom option value for the option.
      void setDate​(java.lang.String optionName, java.util.Date newSetting)
      Sets the Date value for the option.
      void setDouble​(java.lang.String optionName, double value)
      Sets the double value for the option.
      <T extends java.lang.Enum<T>>
      void
      setEnum​(java.lang.String optionName, T value)
      Set the Enum value for the option.
      void setFile​(java.lang.String optionName, java.io.File value)
      Sets the File value for the option.
      void setFloat​(java.lang.String optionName, float value)
      Sets the float value for the option.
      void setFont​(java.lang.String optionName, java.awt.Font value)
      Sets the Font value for the option
      void setInt​(java.lang.String optionName, int value)
      Sets the int value for the option.
      void setKeyStroke​(java.lang.String optionName, javax.swing.KeyStroke value)
      Sets the KeyStroke value for the option
      void setLong​(java.lang.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​(java.lang.String optionName, java.lang.String value)
      Set the String value for the option.
    • Field Detail

      • DELIMITER_STRING

        static final java.lang.String DELIMITER_STRING
      • ILLEGAL_DELIMITER

        static final java.lang.String ILLEGAL_DELIMITER
    • Method Detail

      • getName

        java.lang.String getName()
        Get the name of this options object.
        Returns:
        String
      • getID

        java.lang.String getID​(java.lang.String optionName)
        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.
        Parameters:
        optionName - the name of the option for which to get an ID;
        Returns:
        the unique ID for the given option.
      • getType

        OptionType getType​(java.lang.String optionName)
        Returns the OptionType of the given option.
        Parameters:
        optionName - the name of the option for which to get the type.
        Returns:
        the OptionType of option with the given name.
      • getPropertyEditor

        java.beans.PropertyEditor getPropertyEditor​(java.lang.String optionName)
        Get the property editor for the option with the given name. Note: This method must be called from the swing thread.
        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.
        Throws:
        java.lang.IllegalStateException - if not called from the swing thread.
      • getRegisteredPropertyEditor

        java.beans.PropertyEditor getRegisteredPropertyEditor​(java.lang.String optionName)
        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
        Parameters:
        optionName - the option name
        Returns:
        the PropertyEditor that was registered for this option.
      • getChildOptions

        java.util.List<Options> getChildOptions()
        Returns a list of Options objects that are nested one level down from this Options object.
        Returns:
        a list of Options objects that are nested one level down from this Options object.
      • getLeafOptionNames

        java.util.List<java.lang.String> getLeafOptionNames()
        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()
        Returns:
        the list of the names of the options that are immediate children of this options object.
      • setOptionsHelpLocation

        void setOptionsHelpLocation​(HelpLocation helpLocation)
        Set the location for where help can be found for this entire options object.
        Parameters:
        helpLocation - location for help on the option
      • getOptionsHelpLocation

        HelpLocation getOptionsHelpLocation()
        Returns the HelpLocation for this entire Options object.
        Returns:
        the HelpLocation for this entire Options object.
      • getHelpLocation

        HelpLocation getHelpLocation​(java.lang.String optionName)
        Get the location for where help can be found for the option with the given name.
        Parameters:
        optionName - name of the option
        Returns:
        null if the help location was not set on the option
      • registerOption

        void registerOption​(java.lang.String optionName,
                            java.lang.Object defaultValue,
                            HelpLocation help,
                            java.lang.String description)
        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.
        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 registerOption(String, OptionType, Object, HelpLocation, String)
        help - the HelpLocation for this option.
        description - a description of the option.
        Throws:
        java.lang.IllegalArgumentException - if the defaultValue is null
      • registerOption

        void registerOption​(java.lang.String optionName,
                            OptionType type,
                            java.lang.Object defaultValue,
                            HelpLocation help,
                            java.lang.String description)
        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.
        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

        void registerOption​(java.lang.String optionName,
                            OptionType type,
                            java.lang.Object defaultValue,
                            HelpLocation help,
                            java.lang.String description,
                            java.beans.PropertyEditor editor)
        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.
        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 custom editor for this property. Note if the option is a custom option, then the property editor can't be null;
        Throws:
        java.lang.IllegalStateException - if the options is a custom option and the editor is null.
      • registerOptionsEditor

        void registerOptionsEditor​(OptionsEditor editor)
        Register the options editor that will handle the editing for all the options or a sub group of options.
        Parameters:
        editor - the custom editor panel to be used to edit the options or sub group of options.
      • getOptionsEditor

        OptionsEditor getOptionsEditor()
        Get the editor that will handle editing all the values in this options or sub group of options.
        Returns:
        null if no options editor was registered
      • putObject

        void putObject​(java.lang.String optionName,
                       java.lang.Object obj)
        Put the object value. If the option exists, the type must match the type of the existing object.
        Parameters:
        optionName - the option name
        obj - the option value
        Throws:
        java.lang.IllegalStateException - if the object does not match the existing type of the option.
        java.lang.IllegalArgumentException - if the object is null or not a supported type.
      • getObject

        java.lang.Object getObject​(java.lang.String optionName,
                                   java.lang.Object defaultValue)
        Get the object value; called when the options dialog is being populated.
        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

        boolean getBoolean​(java.lang.String optionName,
                           boolean defaultValue)
        Get the boolean value for the given option name.
        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

        byte[] getByteArray​(java.lang.String optionName,
                            byte[] defaultValue)
        Get the byte array for the given option name.
        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

        int getInt​(java.lang.String optionName,
                   int defaultValue)
        Get the int value for the given option name.
        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

        double getDouble​(java.lang.String optionName,
                         double defaultValue)
        Get the double value for the given option name.
        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

        float getFloat​(java.lang.String optionName,
                       float defaultValue)
        Get the float value for the given option name.
        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

        long getLong​(java.lang.String optionName,
                     long defaultValue)
        Get the long value for the given option name.
        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

        CustomOption getCustomOption​(java.lang.String optionName,
                                     CustomOption defaultValue)
        Get the custom option value for the given option name.
        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

        java.awt.Color getColor​(java.lang.String optionName,
                                java.awt.Color defaultValue)
        Get the Color for the given option name.
        Parameters:
        optionName - option name
        defaultValue - value that is stored and returned if there is no option with the given name
        Returns:
        Color option
        Throws:
        java.lang.IllegalArgumentException - is a option exists with the given name but it is not a Color
      • getFile

        java.io.File getFile​(java.lang.String optionName,
                             java.io.File defaultValue)
        Get the File for the given option name.
        Parameters:
        optionName - option name
        defaultValue - value that is stored and returned if there is no option with the given name
        Returns:
        File option
        Throws:
        java.lang.IllegalArgumentException - is a option exists with the given name but it is not a File options
      • getDate

        java.util.Date getDate​(java.lang.String pName,
                               java.util.Date date)
        Get the Date for the given option name.
        Parameters:
        pName - the property name
        date - the default date that is stored and returned if there is no option with the given name
        Returns:
        the Date for the option
        Throws:
        java.lang.IllegalArgumentException - is a option exists with the given name but it is not a Date options
      • getFont

        java.awt.Font getFont​(java.lang.String optionName,
                              java.awt.Font defaultValue)
        Get the Font for the given option name.
        Parameters:
        optionName - option name
        defaultValue - value that is stored and returned if there is no option with the given name
        Returns:
        Font option
        Throws:
        java.lang.IllegalArgumentException - is a option exists with the given name but it is not a Font
      • getKeyStroke

        javax.swing.KeyStroke getKeyStroke​(java.lang.String optionName,
                                           javax.swing.KeyStroke defaultValue)
        Get the KeyStrokg for the given action name.
        Parameters:
        optionName - the option name
        defaultValue - value that is stored and returned if there is no option with the given name
        Returns:
        KeyStroke option
        Throws:
        java.lang.IllegalArgumentException - is a option exists with the given name but it is not a KeyStroke
      • getString

        java.lang.String getString​(java.lang.String optionName,
                                   java.lang.String defaultValue)
        Get the string value for the given option name.
        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

        <T extends java.lang.Enum<T>> T getEnum​(java.lang.String optionName,
                                                T defaultValue)
        Get the Enum value for the given option name.
        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

        void setLong​(java.lang.String optionName,
                     long value)
        Sets the long value for the option.
        Parameters:
        optionName - name of the option
        value - value of the option
      • setBoolean

        void setBoolean​(java.lang.String optionName,
                        boolean value)
        Sets the boolean value for the option.
        Parameters:
        optionName - name of the option
        value - value of the option
      • setInt

        void setInt​(java.lang.String optionName,
                    int value)
        Sets the int value for the option.
        Parameters:
        optionName - name of the option
        value - value of the option
      • setDouble

        void setDouble​(java.lang.String optionName,
                       double value)
        Sets the double value for the option.
        Parameters:
        optionName - name of the option
        value - value of the option
      • setFloat

        void setFloat​(java.lang.String optionName,
                      float value)
        Sets the float value for the option.
        Parameters:
        optionName - name of the option
        value - value of the option
      • setCustomOption

        void setCustomOption​(java.lang.String optionName,
                             CustomOption value)
        Sets the Custom option value for the option.
        Parameters:
        optionName - name of the option
        value - the value
      • setByteArray

        void setByteArray​(java.lang.String optionName,
                          byte[] value)
        Sets the byte[] value for the given option name.
        Parameters:
        optionName - the name of the option on which to save bytes.
        value - the value
      • setFile

        void setFile​(java.lang.String optionName,
                     java.io.File value)
        Sets the File value for the option.
        Parameters:
        optionName - name of the option
        value - the value
      • setDate

        void setDate​(java.lang.String optionName,
                     java.util.Date newSetting)
        Sets the Date value for the option.
        Parameters:
        optionName - name of the option
        newSetting - the Date to set
      • setColor

        void setColor​(java.lang.String optionName,
                      java.awt.Color value)
        Sets the Color value for the option
        Parameters:
        optionName - name of the option
        value - Color to set
        Throws:
        java.lang.IllegalArgumentException - if a option with the given name already exists, but it is not a Color
      • setFont

        void setFont​(java.lang.String optionName,
                     java.awt.Font value)
        Sets the Font value for the option
        Parameters:
        optionName - name of the option
        value - Font to set
        Throws:
        java.lang.IllegalArgumentException - if a option with the given name already exists, but it is not a Font
      • setKeyStroke

        void setKeyStroke​(java.lang.String optionName,
                          javax.swing.KeyStroke value)
        Sets the KeyStroke value for the option
        Parameters:
        optionName - name of the option
        value - KeyStroke to set
        Throws:
        java.lang.IllegalArgumentException - if a option with the given name already exists, but it is not a KeyStroke
      • setString

        void setString​(java.lang.String optionName,
                       java.lang.String value)
        Set the String value for the option.
        Parameters:
        optionName - name of the option
        value - value of the option
      • setEnum

        <T extends java.lang.Enum<T>> void setEnum​(java.lang.String optionName,
                                                   T value)
        Set the Enum value for the option.
        Parameters:
        optionName - name of the option
        value - Enum value of the option
      • removeOption

        void removeOption​(java.lang.String optionName)
        Remove the option name.
        Parameters:
        optionName - name of option to remove
      • getOptionNames

        java.util.List<java.lang.String> getOptionNames()
        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 getLeafOptionNames() method will return only the "aaa" and "bbb" names.
        Returns:
        the list of all option names(paths) under this options.
      • contains

        boolean contains​(java.lang.String optionName)
        Return true if a option exists with the given name.
        Parameters:
        optionName - option name
        Returns:
        true if there exists an option with the given name
      • getDescription

        java.lang.String getDescription​(java.lang.String optionName)
        Get the description for the given option name.
        Parameters:
        optionName - name of the option
        Returns:
        null if the description or option name does not exist
      • isRegistered

        boolean isRegistered​(java.lang.String optionName)
        Returns true if the specified option has been registered. Only registered names are saved.
        Parameters:
        optionName - the option name
        Returns:
        true if registered
      • isDefaultValue

        boolean isDefaultValue​(java.lang.String optionName)
        Returns true if the option with the given name's current value is the default value.
        Parameters:
        optionName - the name of the option.
        Returns:
        true if the options has its current value equal to its default value.
      • restoreDefaultValues

        void restoreDefaultValues()
        Restores all options contained herein to their default values.
        See Also:
        restoreDefaultValue(String)
      • restoreDefaultValue

        void restoreDefaultValue​(java.lang.String optionName)
        Restores the option denoted by the given name to its default value.
        Parameters:
        optionName - The name of the option to restore
        See Also:
        restoreDefaultValues()
      • getOptions

        Options getOptions​(java.lang.String path)
        Returns a Options object that is a sub-options of this options.

        Note: the option path can have 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.

        Parameters:
        path - the path for the sub-options object
        Returns:
        an Options object that is a sub-options of this options
      • createAlias

        void createAlias​(java.lang.String aliasName,
                         Options options,
                         java.lang.String optionsName)
        Create an alias in this options for an existing option in some other options object.
        Parameters:
        aliasName - the name within this options object that will actually refer to some other options object.
        options - the options object that has the actual option.
        optionsName - the name within the given options object of the actual option.
      • isAlias

        boolean isAlias​(java.lang.String aliasName)
        Returns
        Parameters:
        aliasName - the name of the alias.
        Returns:
        a Options object that is a sub-options of this options.
      • getDefaultValue

        java.lang.Object getDefaultValue​(java.lang.String optionName)
        Returns the default value for the given option.
        Parameters:
        optionName - the name of the option for which to retrieve the default value.
        Returns:
        the default value for the given option.
      • getValueAsString

        java.lang.String getValueAsString​(java.lang.String name)
        Returns the value as a string for the given option.
        Parameters:
        name - 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

        java.lang.String getDefaultValueAsString​(java.lang.String optionName)
        Returns the default value as a string for the given option.
        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.
      • hasSameOptionsAndValues

        static boolean hasSameOptionsAndValues​(Options options1,
                                               Options options2)
        Returns true if the two options objects have the same set of options and values
        Parameters:
        options1 - the first options object to test
        options2 - the second options object to test
        Returns:
        true if the two options objects have the same set of options and values