javax.ws.rs.core

## Interface Feature

-     public interface Feature

  A feature extension contract. Typically encapsulates a concept or facility that involves configuration of multiple providers (e.g. filters or interceptors) and/or properties.

  A `Feature` is a special type of JAX-RS configuration meta-provider. Once a feature is registered, it's `configure(FeatureContext)` method is invoked during JAX-RS runtime configuration and bootstrapping phase allowing the feature to further configure the runtime context in which it has been registered. From within the invoked `configure(...)` method a feature may provide additional runtime configuration for the facility or conceptual domain it represents, such as registering additional contract providers, including nested features and/or specifying domain-specific properties.

  Since:
    2.0
  Author:
    Marek Potociar

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `configure(FeatureContext context)` A call-back method called when the feature is to be enabled in a given runtime configuration scope.

- - ### Method Detail

    - #### configure

          boolean configure(FeatureContext context)

      A call-back method called when the feature is to be enabled in a given runtime configuration scope. The responsibility of the feature is to properly update the supplied runtime configuration context and return `true` if the feature was successfully enabled or `false` otherwise.

      Note that under some circumstances the feature may decide not to enable itself, which is indicated by returning `false`. In such case the configuration context does not add the feature to the collection of enabled features and a subsequent call to `Configuration.isEnabled(Feature)` or `Configuration.isEnabled(Class)` method would return `false`.

      Parameters:
        `context` - configurable context in which the feature should be enabled.
      Returns:
        `true` if the feature was successfully enabled, `false` otherwise.

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.