Package ghidra.framework.options

# Class AutoOptionsListener<R>

java.lang.Object
ghidra.framework.options.AutoOptionsListener<R>

All Implemented Interfaces:
  `OptionsChangeListener`

public class AutoOptionsListener<R> extends Object implements OptionsChangeListener

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `protected static class`
  `AutoOptionsListener.FieldOptionSetter<R>`
  `protected static class`
  `AutoOptionsListener.MethodOptionSetter<R>`
  `protected static interface`
  `AutoOptionsListener.OptionSetter<R>`
  `protected static enum`
  `AutoOptionsListener.ParamOrder`
  `protected static class`
  `AutoOptionsListener.ReceiverProfile<R>`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final AutoOptionsListener.ReceiverProfile<R>`
  `profile`
  `protected static final Map<Class<?>,AutoOptionsListener.ReceiverProfile<?>>`
  `PROFILES_BY_RECEIVER_CLASS`
  `protected final R`
  `receiver`
  `protected static final Map<Class<?>,Set<AutoOptionsListener.OptionSetter<?>>>`
  `SETTERS_BY_RECEIVER_CLASS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AutoOptionsListener(Plugin plugin, R receiver)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected static <R> Set<AutoOptionsListener.OptionSetter<R>>`
  `collectSettersByReceiver(Class<R> cls, Plugin plugin)`
  `Set<String>`
  `getCategories()`
  `void`
  `notifyCurrentValues(PluginTool tool)`
  `void`
  `optionsChanged(ToolOptions options, String optionName, Object oldValue, Object newValue)`
  Notification that an option changed.

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

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### SETTERS_BY_RECEIVER_CLASS

    protected static final Map<Class<?>,Set<AutoOptionsListener.OptionSetter<?>>> SETTERS_BY_RECEIVER_CLASS

  - ### PROFILES_BY_RECEIVER_CLASS

    protected static final Map<Class<?>,AutoOptionsListener.ReceiverProfile<?>> PROFILES_BY_RECEIVER_CLASS

  - ### receiver

    protected final R receiver

  - ### profile

    protected final AutoOptionsListener.ReceiverProfile<R> profile

- ## Constructor Details

  - ### AutoOptionsListener

    public AutoOptionsListener(Plugin plugin, R receiver)

- ## Method Details

  - ### collectSettersByReceiver

    protected static <R> Set<AutoOptionsListener.OptionSetter<R>> collectSettersByReceiver(Class<R> cls, Plugin plugin)

  - ### optionsChanged

    public void optionsChanged(ToolOptions options, String optionName, Object oldValue, Object newValue)
    Description copied from interface: `OptionsChangeListener`
    Notification that an option changed.

    Note: to reject an options change, you can throw a `OptionsVetoException`.

    Specified by:
      `optionsChanged` in interface `OptionsChangeListener`
    Parameters:
      `options` - options object containing the property that changed
      `optionName` - name of option that changed
      `oldValue` - old value of the option
      `newValue` - new value of the option

  - ### notifyCurrentValues

    public void notifyCurrentValues(PluginTool tool)

  - ### getCategories

    public Set<String> getCategories()