Class AiOptions.Builder

java.lang.Object
org.egothor.methodatlas.ai.AiOptions.Builder
Enclosing class:
AiOptions

public static final class AiOptions.Builder extends Object
Mutable builder used to construct validated AiOptions instances.

The builder follows the conventional staged construction pattern, allowing optional parameters to be supplied before producing the final immutable configuration record via build().

Reasonable defaults are provided for most parameters so that only provider-specific details typically need to be configured explicitly.

  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • enabled

      public AiOptions.Builder enabled(boolean enabled)
      Enables or disables AI enrichment.
      Parameters:
      enabled - true to enable AI integration
      Returns:
      this builder
    • provider

      public AiOptions.Builder provider(AiProvider provider)
      Selects the AI provider.
      Parameters:
      provider - provider implementation to use
      Returns:
      this builder
    • modelName

      public AiOptions.Builder modelName(String modelName)
      Specifies the provider-specific model identifier.
      Parameters:
      modelName - name of the model to use
      Returns:
      this builder
    • baseUrl

      public AiOptions.Builder baseUrl(String baseUrl)
      Sets the base API endpoint used by the provider.
      Parameters:
      baseUrl - base URL of the provider API
      Returns:
      this builder
    • apiKey

      public AiOptions.Builder apiKey(String apiKey)
      Sets the API key used for authentication.
      Parameters:
      apiKey - API key value
      Returns:
      this builder
    • apiKeyEnv

      public AiOptions.Builder apiKeyEnv(String apiKeyEnv)
      Specifies the environment variable that stores the API key.
      Parameters:
      apiKeyEnv - environment variable name
      Returns:
      this builder
    • taxonomyFile

      public AiOptions.Builder taxonomyFile(Path taxonomyFile)
      Specifies an external taxonomy definition file.
      Parameters:
      taxonomyFile - path to taxonomy definition
      Returns:
      this builder
    • taxonomyMode

      public AiOptions.Builder taxonomyMode(AiOptions.TaxonomyMode taxonomyMode)
      Selects the built-in taxonomy mode.
      Parameters:
      taxonomyMode - taxonomy variant
      Returns:
      this builder
    • maxClassChars

      public AiOptions.Builder maxClassChars(int maxClassChars)
      Sets the maximum size of class source submitted to the AI provider.
      Parameters:
      maxClassChars - maximum allowed character count
      Returns:
      this builder
    • timeout

      public AiOptions.Builder timeout(Duration timeout)
      Sets the timeout applied to AI requests.
      Parameters:
      timeout - request timeout
      Returns:
      this builder
    • maxRetries

      public AiOptions.Builder maxRetries(int maxRetries)
      Sets the retry limit for AI requests.
      Parameters:
      maxRetries - retry count
      Returns:
      this builder
    • confidence

      public AiOptions.Builder confidence(boolean confidence)
      Enables or disables AI confidence scoring.

      When enabled, the prompt instructs the AI provider to return a confidence value for each method classification. The value is included in the output as an ai_confidence column.

      Parameters:
      confidence - true to request confidence scores
      Returns:
      this builder
    • build

      public AiOptions build()
      Builds the final immutable AiOptions configuration.

      If no base URL is explicitly supplied, a provider-specific default endpoint is selected automatically.

      Returns:
      validated AI configuration