# Annotation Interface SettingDefinition

@Retention(RUNTIME) @Target(METHOD) public @interface SettingDefinition
Annotation that specifies that a method in an event class should be used to filter out events.

For the method to be valid it must return a `SettingControl` and only have one parameter, which should be a non-abstract subclass of `SettingControl`

The return value of the method specifies whether the event is to be written to the Flight Recorder system or not.

The following example shows how to annotate a method in an event class.

    class HelloWorld extends Event {

      @Label("Message")
      String message;

      @SettingDefinition
      @Label("Message Filter")
      public boolean filter(RegExpControl regExp) {
        return regExp.matches(message);
      }
    }

For an example of how the setting controls are defined, see `SettingControl`.

Since:
  9
See Also:
  - `SettingControl`