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