# 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`