Interface ConfiguredProvider<T extends NamedService>

Type Parameters:
T - type of the service this provider provides
All Known Subinterfaces:
ContentEncodingProvider, JdbcConnectionPoolProvider, LimitProvider, MediaSupportProvider, ObserveProvider, OpenApiManagerProvider, OpenApiServiceProvider, ProtocolConfigProvider<T>, ProtocolConfigProvider<T>, ServerFeatureProvider<T>, TlsManagerProvider, WebClientServiceProvider
All Known Implementing Classes:
AccessLogFeatureProvider, AimdLimitProvider, ConfigObserveProvider, ContextFeatureProvider, CorsFeatureProvider, DefaultOciCertificatesTlsManagerProvider, DeflateEncodingProvider, FixedLimitProvider, GrpcProtocolConfigProvider, GzipEncodingProvider, HealthObserveProvider, HikariConnectionPoolProvider, Http1ProtocolConfigProvider, Http1ProtocolConfigProvider, Http2ProtocolConfigProvider, Http2ProtocolConfigProvider, InfoObserveProvider, JacksonMediaSupportProvider, JsonbMediaSupportProvider, JsonpMediaSupportProvider, LimitsFeatureProvider, LogObserveProvider, MetricsObserveProvider, MultiPartSupportProvider, ObserveFeatureProvider, OpenApiFeatureProvider, OpenApiUiProvider, SecurityFeatureProvider, TracingObserveProvider, WebClientMetricsProvider, WebClientSecurityProvider, WebClientTracingProvider, WsProtocolConfigProvider, WsProtocolConfigProvider

public interface ConfiguredProvider<T extends NamedService>
Providers that can be loaded from configuration should implement this interface. The configuration is expected to be similar to this (using YAML as an example):
   configured-option:
     discover-services: true # this is the default
     providers:
       provider1-config-key:
         provider1-config: value
       provider2-config-key:
         provider2-config: value
 
  • Method Summary

    Modifier and Type
    Method
    Description
    Key this service implementation is stored under.
    create(Config config, String name)
    Create a new instance from the configuration located on the provided node.
  • Method Details

    • configKey

      String configKey()
      Key this service implementation is stored under. This is also considered the service "type" when used in a list in configuration, to allow the same service defined more than once.
      Returns:
      key of this implementation
    • create

      T create(Config config, String name)
      Create a new instance from the configuration located on the provided node.
      Parameters:
      config - located at configKey() node
      name - name of the configured implementation
      Returns:
      a new instance created from this config node