org.apache.cxf.feature

## Interface AbstractPortableFeature

- All Superinterfaces:
    Feature
  All Known Implementing Classes:
    AbstractFeature, BeanValidationFeature, BeanValidationFeature.Portable, ClientBeanValidationFeature, ClientBeanValidationFeature.Portable, DelegatingFeature, FastInfosetFeature, FastInfosetFeature.Portable, GZIPFeature, GZIPFeature.Portable, JAASAuthenticationFeature, JAASAuthenticationFeature.Portable, LoggingFeature, LoggingFeature.Portable, SchemaValidationFeature, SchemaValidationFeature.Portable, StaxDataBindingFeature, StaxDataBindingFeature.Portable, StaxTransformFeature, StaxTransformFeature.Portable, WrappedFeature, WSAddressingFeature, XSLTFeature, XSLTFeature.Portable

      public interface AbstractPortableFeature
      extends Feature

  A portable - i.e. for jaxws and jaxrs - Feature is something that is able to customize a Server, Client, or Bus, typically adding capabilities. For instance, there may be a LoggingFeature which configures one of the above to log each of their messages.

  By default the initialize methods all delegate to doInitializeProvider(InterceptorProvider). If you're simply adding interceptors to a Server, Client, or Bus, this allows you to add them easily.

- - ### Method Summary

    All Methods Static Methods Instance Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default void` | `doInitializeProvider(InterceptorProvider provider, Bus bus)`
    `static <T> T` | `getActive(List<? extends Feature> features, Class<T> type)` Convenience method to extract a feature by type from an active list.
    `default void` | `initialize(Bus bus)`
    `default void` | `initialize(Client client, Bus bus)`
    `default void` | `initialize(InterceptorProvider interceptorProvider, Bus bus)`
    `default void` | `initialize(Server server, Bus bus)`

- - ### Method Detail

    - #### initialize

          default void initialize(Server server,
                                  Bus bus)

      Specified by:
        `initialize` in interface `Feature`

    - #### initialize

          default void initialize(Client client,
                                  Bus bus)

      Specified by:
        `initialize` in interface `Feature`

    - #### initialize

          default void initialize(InterceptorProvider interceptorProvider,
                                  Bus bus)

      Specified by:
        `initialize` in interface `Feature`

    - #### initialize

          default void initialize(Bus bus)

      Specified by:
        `initialize` in interface `Feature`

    - #### doInitializeProvider

          default void doInitializeProvider(InterceptorProvider provider,
                                            Bus bus)

    - #### getActive

          static <T> T getActive(List<? extends Feature> features,
                                 Class<T> type)

      Convenience method to extract a feature by type from an active list.
      Parameters:
        `features` - the given feature list
        `type` - the feature type required
      Returns:
        the feature of the specified type if active

Apache CXF