Package 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 | 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​(Server server, Bus bus)` |
    `default void` | `initialize​(InterceptorProvider interceptorProvider, 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