Annotation Interface Stateful


@Documented @Target(TYPE) @Retention(RUNTIME) @Inherited public @interface Stateful

Annotation that a Processor, ReportingTask, FlowAnalysisRule, ParameterProvider, or Controller Service can use to indicate that the component makes use of the StateManager. This annotation provides the user with a description of what information is being stored so that the user is able to understand what is shown to them and know what they are clearing should they choose to clear the state. Additionally, the UI will not show any state information to users if this annotation is not present.

  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    Provides a description of what information is being stored in the StateManager
    Indicates the Scope(s) associated with the State that is stored and retrieved.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    Indicates whether the component supports dropping a specific state key when the API to clear the state of the component is being called.
  • Element Details

    • description

      String description
      Provides a description of what information is being stored in the StateManager
      Returns:
      Description of information stored
    • scopes

      Scope[] scopes
      Indicates the Scope(s) associated with the State that is stored and retrieved.
      Returns:
      Array of scopes for information stored
    • dropStateKeySupported

      boolean dropStateKeySupported
      Indicates whether the component supports dropping a specific state key when the API to clear the state of the component is being called. This should be used with caution as it can lead to inconsistent state across the cluster if not handled properly in the component's code.
      Returns:
      true if dropping specific state keys is supported, false otherwise
      Default:
      false