Package ghidra.framework.options
Interface Options
-
- All Known Implementing Classes:
AbstractOptions
,FileOptions
,SubOptions
,ToolOptions
public interface Options
-
-
Field Summary
Fields Modifier and Type Field Description static char
DELIMITER
static java.lang.String
DELIMITER_STRING
static java.lang.String
ILLEGAL_DELIMITER
-
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>>
TgetEnum(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 valuesboolean
isAlias(java.lang.String aliasName)
Returnsboolean
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 optionvoid
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>>
voidsetEnum(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 optionvoid
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 optionvoid
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
static final char DELIMITER
- See Also:
- Constant Field Values
-
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, useregisterOption(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 nameobj
- 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 namedefaultValue
- 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 namedefaultValue
- 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 namedefaultValue
- 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 namedefaultValue
- 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 namedefaultValue
- 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 namedefaultValue
- 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 namedefaultValue
- 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 namedefaultValue
- 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 namedefaultValue
- 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 namedefaultValue
- 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 namedate
- 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 namedefaultValue
- 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 namedefaultValue
- 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 namedefaultValue
- 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 namedefaultValue
- 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 optionvalue
- 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 optionvalue
- 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 optionvalue
- 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 optionvalue
- 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 optionvalue
- 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 optionvalue
- 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 optionvalue
- 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 optionnewSetting
- 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 optionvalue
- 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 optionvalue
- 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 optionvalue
- 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 optionvalue
- 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 optionvalue
- 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. thegetLeafOptionNames()
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 testoptions2
- the second options object to test- Returns:
- true if the two options objects have the same set of options and values
-
-