Annotation Interface Feature


@Retention(RUNTIME) @Target(TYPE) @Inherited public @interface Feature
Marks a class as a Gestalt-managed feature.

Classes annotated with @Feature can be registered with Gestalt and participate in the full feature lifecycle: initialization, enabling, disabling, and shutdown.

This annotation is inherited, meaning subclasses of a @Feature-annotated class are also considered features.

  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    The group this feature belongs to.
    A unique identifier for this feature within its group.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    The priority that determines the order in which this feature is enabled or disabled.
  • Element Details

    • group

      String group
      The group this feature belongs to. Used to batch-enable or batch-disable related features.
      Returns:
      the group name
    • identifier

      String identifier
      A unique identifier for this feature within its group.
      Returns:
      the feature identifier
    • priority

      FeaturePriority priority
      The priority that determines the order in which this feature is enabled or disabled. Defaults to FeaturePriority.NORMAL.
      Returns:
      the feature priority
      Default:
      NORMAL