Class ApiLoaderConfig.Builder

java.lang.Object
io.gorules.zen.loader.ApiLoaderConfig.Builder
Enclosing class:
ApiLoaderConfig

public static class ApiLoaderConfig.Builder extends Object
Builder for ApiLoaderConfig with flexible header configuration.
  • Method Details

    • header

      public ApiLoaderConfig.Builder header(String name, String value)
      Add a single HTTP header. Can be called multiple times to add multiple headers.
      Parameters:
      name - Header name (e.g., "Authorization", "X-API-Key")
      value - Header value
      Returns:
      this builder
    • headers

      public ApiLoaderConfig.Builder headers(Map<String,String> headers)
      Add multiple headers at once from a Map.
      Parameters:
      headers - Map of header names to values
      Returns:
      this builder
    • bearerToken

      public ApiLoaderConfig.Builder bearerToken(String token)
      Add Bearer token authorization header. Convenience method for: header("Authorization", "Bearer " + token)
      Parameters:
      token - Bearer token
      Returns:
      this builder
    • apiKey

      public ApiLoaderConfig.Builder apiKey(String key)
      Add API key header. Convenience method for: header("X-API-Key", key)
      Parameters:
      key - API key
      Returns:
      this builder
    • basicAuth

      public ApiLoaderConfig.Builder basicAuth(String username, String password)
      Add Basic authentication header. Convenience method for: header("Authorization", "Basic " + base64(username:password))
      Parameters:
      username - Username
      password - Password
      Returns:
      this builder
    • headerProvider

      public ApiLoaderConfig.Builder headerProvider(HeaderProvider provider)
      Set a provider for dynamic headers that are computed per request. Useful for headers that change per request like timestamps, request IDs, etc.
      Parameters:
      provider - HeaderProvider instance
      Returns:
      this builder
    • timeout

      public ApiLoaderConfig.Builder timeout(Duration timeout)
      Set request timeout.
      Parameters:
      timeout - Timeout duration (default: 30 seconds)
      Returns:
      this builder
    • maxRetries

      public ApiLoaderConfig.Builder maxRetries(int maxRetries)
      Set maximum number of retry attempts for failed requests.
      Parameters:
      maxRetries - Maximum retries (default: 3)
      Returns:
      this builder
    • retryDelay

      public ApiLoaderConfig.Builder retryDelay(Duration retryDelay)
      Set delay between retry attempts.
      Parameters:
      retryDelay - Delay duration (default: 1 second)
      Returns:
      this builder
    • caching

      public ApiLoaderConfig.Builder caching(boolean enable)
      Enable or disable caching of loaded decisions.
      Parameters:
      enable - true to enable caching (default: true)
      Returns:
      this builder
    • build

      public ApiLoaderConfig build()
      Build the ApiLoaderConfig.
      Returns:
      ApiLoaderConfig instance