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

java.lang.Object
io.helidon.data.sql.datasource.DataSourceConfig.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:
DataSourceConfig.Builder
Enclosing interface:
DataSourceConfig

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

    • BuilderBase

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

    • from

      public BUILDER from(DataSourceConfig 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(DataSourceConfig.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 DataSourceConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends DataSourceConfig>
      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 DataSourceConfig.BuilderBase<BUILDER,PROTOTYPE>,PROTOTYPE extends DataSourceConfig>
      Parameters:
      config - configuration instance used to obtain values to update this builder
      Returns:
      updated builder instance
    • name

      public BUILDER name(String name)
      DataSource name. Optional name to distinguish several data sources of the same type. First available data source is returned when name is not set.
      Parameters:
      name - the repository name
      Returns:
      updated builder instance
      See Also:
    • provider

      public BUILDER provider(ProviderConfig provider)
      Configuration of the used provider, such as UCP.
      Parameters:
      provider - provider configuration
      Returns:
      updated builder instance
      See Also:
    • providerDiscoverServices

      public BUILDER providerDiscoverServices(boolean providerDiscoverServices)
      Service discovery flag for provider(). If set to true, services will be discovered from Java service loader, or Helidon ServiceRegistry.
      Parameters:
      providerDiscoverServices - 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:
    • name

      public String name()
      DataSource name. Optional name to distinguish several data sources of the same type. First available data source is returned when name is not set.
      Returns:
      the repository name
    • provider

      public Optional<ProviderConfig> provider()
      Configuration of the used provider, such as UCP.
      Returns:
      provider configuration
    • providerDiscoverServices

      public boolean providerDiscoverServices()
      Service discovery flag for provider(). 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