Class ConfigOverrides.Builder

java.lang.Object
org.apache.tika.pipes.core.config.ConfigOverrides.Builder
Enclosing class:
ConfigOverrides

public static class ConfigOverrides.Builder extends Object
Builder for ConfigOverrides.
  • Method Details

    • addPreset

      public ConfigOverrides.Builder addPreset(String name)
      Activates a catalog preset, as "presets": {"name": true} in the config would, replacing whatever value the existing config has for the name.
    • setTrustedRequests

      public ConfigOverrides.Builder setTrustedRequests(boolean trustedRequests)
      Sets pipes.trustedRequests: the requests come from the operator, so their parseContext is trusted and their limits and timeouts are used as given.
    • setClasspathPlugins

      public ConfigOverrides.Builder setClasspathPlugins(boolean classpathPlugins)
      Appends -Dtika.plugins.classpath=true to the fork's JVM args, keeping whatever forkedJvmArgs the existing config or setPipesConfig(int, java.util.List<java.lang.String>) already carry.
    • addFetcher

      public ConfigOverrides.Builder addFetcher(String id, String type, Map<String,Object> config)
      Add a fetcher configuration.
      Parameters:
      id - the fetcher ID
      type - the fetcher type (e.g., "file-system-fetcher")
      config - the fetcher configuration properties
      Returns:
      this builder
    • addEmitter

      public ConfigOverrides.Builder addEmitter(String id, String type, Map<String,Object> config)
      Add an emitter configuration.
      Parameters:
      id - the emitter ID
      type - the emitter type (e.g., "file-system-emitter")
      config - the emitter configuration properties
      Returns:
      this builder
    • setPipesConfig

      public ConfigOverrides.Builder setPipesConfig(int numClients, List<String> forkedJvmArgs)
      Set pipes configuration with basic options.
      Parameters:
      numClients - number of forked JVM clients
      forkedJvmArgs - JVM arguments for forked processes (may be null)
      Returns:
      this builder
    • setPipesConfig

      public ConfigOverrides.Builder setPipesConfig(int numClients, int maxFilesProcessedPerProcess, List<String> forkedJvmArgs)
      Set pipes configuration with all options.
      Parameters:
      numClients - number of forked JVM clients
      maxFilesProcessedPerProcess - max files before process restart
      forkedJvmArgs - JVM arguments for forked processes (may be null)
      Returns:
      this builder
    • setPipesConfig

      public ConfigOverrides.Builder setPipesConfig(int numClients, int maxFilesProcessedPerProcess, List<String> forkedJvmArgs, long socketTimeoutMillis, String javaPath)
      Set pipes configuration including the parent-side process settings.
      Parameters:
      socketTimeoutMillis - socket read timeout for the forked process, -1 to leave the existing config's value
      javaPath - java executable for the forked process, null to leave the existing config's value
      Returns:
      this builder
    • setTimeoutLimits

      public ConfigOverrides.Builder setTimeoutLimits(TimeoutLimits timeoutLimits)
      Set the timeout limits to write to the parse-context section.
      Parameters:
      timeoutLimits - the timeout limits (may be null to use defaults)
      Returns:
      this builder
    • setEmbeddedLimits

      public ConfigOverrides.Builder setEmbeddedLimits(EmbeddedLimits embeddedLimits)
      Set the embedded limits to write to the parse-context section. Config-tier limits are the ceiling a request's own limits are clamped to.
      Parameters:
      embeddedLimits - the embedded limits (may be null to use defaults)
      Returns:
      this builder
    • setWriteLimit

      public ConfigOverrides.Builder setWriteLimit(Integer writeLimit)
      Set output-limits.writeLimit in the parse-context section.
      Parameters:
      writeLimit - the write limit, negative for unlimited (may be null to leave unset)
      Returns:
      this builder
    • setPluginRoots

      public ConfigOverrides.Builder setPluginRoots(String pluginRoots)
      Set the plugin roots path.
      Parameters:
      pluginRoots - path to the plugins directory
      Returns:
      this builder
    • setEmitStrategy

      public ConfigOverrides.Builder setEmitStrategy(EmitStrategy emitStrategy)
      Set the emit strategy.
      Parameters:
      emitStrategy - the emit strategy
      Returns:
      this builder
    • build

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