Interface ConfigProvider

All Known Implementing Classes:
ConfigProviderImpl

@API(status=STABLE, since="1.0") public interface ConfigProvider
Generic interface for Config providers.
Since:
0.1
Version:
1.0, 2019-07, 1.1, 2025-07
Author:
(w) Iker Hernaez
  • Method Summary

    Modifier and Type
    Method
    Description
    static @NotNull ConfigProviderBuilder
    builder(@NotNull Config defaultConfig)
    Creates a new ConfigProviderBuilder instance using the specified default configuration.
    @NotNull Optional<Config>
    getConfig(@NotNull Class<? extends Config> type)
    Returns the registered Config for the specified type, if any.
    @NotNull Config
    Returns the default Config instance.
    Returns a suitable Config instance for the configuration preferences passed as argument.
  • Method Details

    • builder

      @NotNull static @NotNull ConfigProviderBuilder builder(@NotNull @NotNull Config defaultConfig)
      Creates a new ConfigProviderBuilder instance using the specified default configuration.
      Parameters:
      defaultConfig - The default configuration instance.
      Returns:
      A new ConfigProviderBuilder instance
    • getDefaultConfig

      @NotNull @NotNull Config getDefaultConfig()
      Returns the default Config instance.
      Returns:
      The default Config instance
    • getConfig

      @NotNull @NotNull Optional<Config> getConfig(@NotNull @NotNull Class<? extends Config> type)
      Returns the registered Config for the specified type, if any.
      Parameters:
      type - The configuration type.
      Returns:
      The registered Config.
    • selectConfig

      Config selectConfig(PreferredConfig preferences)
      Returns a suitable Config instance for the configuration preferences passed as argument.
      Parameters:
      preferences - The configuration preferences.
      Returns:
      The selected Config instance, or null if no one is suitable