Class WebClientDiscoveryConfig.BuilderBase<BUILDER extends WebClientDiscoveryConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends WebClientDiscoveryConfig>

java.lang.Object
io.helidon.webclient.discovery.WebClientDiscoveryConfig.BuilderBase<BUILDER,PROTOTYPE>
Type Parameters:
BUILDER - type of the builder extending this abstract builder
PROTOTYPE - type of the prototype interface that would be built by Prototype.Builder.buildPrototype()
All Implemented Interfaces:
Prototype.Builder<BUILDER,PROTOTYPE>, ConfigBuilderSupport.ConfiguredBuilder<BUILDER,PROTOTYPE>, ConfigBuilderSupport.ConfiguredBuilder<BUILDER,PROTOTYPE>
Direct Known Subclasses:
WebClientDiscoveryConfig.Builder
Enclosing interface:
WebClientDiscoveryConfig

public abstract static class WebClientDiscoveryConfig.BuilderBase<BUILDER extends WebClientDiscoveryConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends WebClientDiscoveryConfig> extends Object implements ConfigBuilderSupport.ConfiguredBuilder<BUILDER,PROTOTYPE>
Fluent API builder base for WebClientDiscoveryConfig.
  • Constructor Details

    • BuilderBase

      protected BuilderBase()
      Protected to support extensibility.
  • Method Details

    • from

      public BUILDER from(WebClientDiscoveryConfig prototype)
      Update this builder from an existing prototype instance. This method disables automatic service discovery.
      Parameters:
      prototype - existing prototype to update this builder from
      Returns:
      updated builder instance
    • from

      public BUILDER from(WebClientDiscoveryConfig.BuilderBase<?,?> builder)
      Update this builder from an existing prototype builder instance.
      Parameters:
      builder - existing builder prototype to update this builder from
      Returns:
      updated builder instance
    • config

      @Deprecated public BUILDER config(Config config)
      Update builder from configuration (node of this type). If a value is present in configuration, it would override currently configured values.
      Specified by:
      config in interface ConfigBuilderSupport.ConfiguredBuilder<BUILDER extends WebClientDiscoveryConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends WebClientDiscoveryConfig>
      Parameters:
      config - configuration instance used to obtain values to update this builder
      Returns:
      updated builder instance
    • config

      public BUILDER config(Config config)
      Update builder from configuration (node of this type). If a value is present in configuration, it would override currently configured values.
      Specified by:
      config in interface ConfigBuilderSupport.ConfiguredBuilder<BUILDER extends WebClientDiscoveryConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends WebClientDiscoveryConfig>
      Parameters:
      config - configuration instance used to obtain values to update this builder
      Returns:
      updated builder instance
    • discovery

      public BUILDER discovery(Discovery discovery)
      A Discovery (normally sourced from the service registry).
      Parameters:
      discovery - a Discovery
      Returns:
      updated builder instance
      See Also:
    • prefixUris

      public BUILDER prefixUris(Map<String,? extends URI> prefixUris)
      A Map of URI prefixes indexed under discovery names. This method replaces all values with the new ones.
      Parameters:
      prefixUris - the Map
      Returns:
      updated builder instance
      See Also:
    • addPrefixUris

      public BUILDER addPrefixUris(Map<String,? extends URI> prefixUris)
      A Map of URI prefixes indexed under discovery names. This method keeps existing values, then puts all new values into the map.
      Parameters:
      prefixUris - the Map
      Returns:
      updated builder instance
      See Also:
    • name

      public BUILDER name(String name)
      The name to assign to the runtime type (discovery by default).
      Parameters:
      name - a name
      Returns:
      updated builder instance
      See Also:
    • discoveryDiscoverServices

      public BUILDER discoveryDiscoverServices(boolean discoveryDiscoverServices)
      Service discovery flag for discovery(). If set to true, services will be discovered from Java service loader, or Helidon ServiceRegistry.
      Parameters:
      discoveryDiscoverServices - whether to enable automatic service discovery
      Returns:
      updated builder instance
      See Also:
    • serviceRegistry

      public BUILDER serviceRegistry(ServiceRegistry serviceRegistry)
      Service registry used to discover providers and services. Provide an explicit registry instance to use.

      If not configured, the GlobalServiceRegistry would be used to discover services.

      Parameters:
      serviceRegistry - service registry to use
      Returns:
      updated builder instance
      See Also:
    • discovery

      public Optional<Discovery> discovery()
      A Discovery (normally sourced from the service registry).
      Returns:
      a Discovery
    • prefixUris

      public Map<String,URI> prefixUris()
      A Map of URI prefixes indexed under discovery names.
      Returns:
      the Map
    • name

      public String name()
      The name to assign to the runtime type (discovery by default).
      Returns:
      a name
      See Also:
    • discoveryDiscoverServices

      public boolean discoveryDiscoverServices()
      Service discovery flag for discovery(). If set to true, services will be discovered from Java service loader, or Helidon ServiceRegistry.
      Returns:
      whether to enable automatic service discovery
    • serviceRegistry

      public Optional<ServiceRegistry> serviceRegistry()
      Service registry used to discover providers and services. Provide an explicit registry instance to use.

      If not configured, the GlobalServiceRegistry would be used to discover services.

      Returns:
      service registry to use
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • preBuildPrototype

      protected void preBuildPrototype()
      Handles providers and decorators.
    • validatePrototype

      protected void validatePrototype()
      Validates required properties.
    • config

      protected Optional<Config> config()
      Configuration used to configure this instance.
      Returns:
      config instance