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`, `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

  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 Details

  - ### 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