@Version(value="1.1.0")

# Package org.apache.sling.featureflags

The Feature Flags feature allows applications to dynamically provide features to clients and consumers depending on various criteria such as Time of Day Static Configuration Request Parameter Some Resource Feature flag support consists of two parts: The feature flag itself represented by the `Feature` interface and the the application providing a feature guarded by a feature flag.

See: Description

Interface Summary
Interface | Description
--- | ---
ExecutionContext | The `ExecutionContext` interface provides access to the context for evaluating whether a feature is enabled or not.
Feature | A feature is defined by its name.
Features | The `Features` service is the applications access point to the Feature Flag functionality.

## Package org.apache.sling.featureflags Description

The Feature Flags feature allows applications to dynamically provide features to clients and consumers depending on various criteria such as

- Time of Day
- Static Configuration
- Request Parameter
- Some Resource

Feature flag support consists of two parts: The feature flag itself represented by the `Feature` interface and the the application providing a feature guarded by a feature flag. Such applications make use of the `Features` service to query feature flags.

Feature flags can be provided by registering `Feature` services. Alternatively feature flags can be provided by factory configuration with factory PID `org.apache.sling.featureflags.Feature` as follows:

`name` | Short name of the feature. This name is used to refer to the feature when checking for it to be enabled or not. This property is required and defaults to a name derived from the feature's class name and object identity. It is strongly recommended to define a useful and unique name for the feature
`description` | Description for the feature. The intent is to describe the behavior of the application if this feature would be enabled. It is recommended to define this property. The default value is the name of the feature as derived from the `name` property.
`enabled` | Boolean flag indicating whether the feature is enabled or not by this configuration

Version:
  1.1
See Also:
  Feature Flags