Interface ConfigSourceProvider

All Known Implementing Classes:
HttpConfigSourceProvider

public interface ConfigSourceProvider
Configuration Source Provider SPI 配置源提供者SPI

Service Provider Interface for custom configuration sources.

用于自定义配置源的服务提供者接口。

SPI Registration | SPI注册:

# META-INF/services/cloud.opencode.base.config.advanced.ConfigSourceProvider
com.example.RedisConfigSourceProvider
com.example.ConsulConfigSourceProvider

Usage Examples | 使用示例:

public class RedisConfigSourceProvider implements ConfigSourceProvider {
    @Override
    public boolean supports(String uri) {
        return uri.startsWith("redis://");
    }

    @Override
    public ConfigSource create(String uri, Map<String, Object> options) {
        return new RedisConfigSource(uri, options);
    }
}

Features | 主要功能:

  • Core ConfigSourceProvider functionality - ConfigSourceProvider核心功能

Security | 安全性:

  • Thread-safe: Implementation-dependent - 线程安全: 取决于实现
  • Null-safe: No - 空值安全: 否
Since:
JDK 25, opencode-base-config V1.0.0
Author:
Leon Soo www.LeonSoo.com
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    create(String uri, Map<String,Object> options)
    Create configuration source for the given URI 为给定的URI创建配置源
    default int
    Get provider priority (higher = checked first) 获取提供者优先级(越高越先检查)
    boolean
    Check if this provider supports the given URI 检查此提供者是否支持给定的URI
  • Method Details

    • supports

      boolean supports(String uri)
      Check if this provider supports the given URI 检查此提供者是否支持给定的URI
      Parameters:
      uri - configuration source URI | 配置源URI
      Returns:
      true if supported | 如果支持返回true
    • create

      ConfigSource create(String uri, Map<String,Object> options)
      Create configuration source for the given URI 为给定的URI创建配置源
      Parameters:
      uri - configuration source URI | 配置源URI
      options - additional options | 附加选项
      Returns:
      configuration source | 配置源
    • priority

      default int priority()
      Get provider priority (higher = checked first) 获取提供者优先级(越高越先检查)
      Returns:
      priority value | 优先级值