Package org.kie.internal.builder.conf

## Interface KnowledgeBuilderOptionsConfiguration

- All Known Subinterfaces:
    `KnowledgeBuilderConfiguration`

      public interface KnowledgeBuilderOptionsConfiguration

  A base interface for type safe configurations

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T extends SingleValueKnowledgeBuilderOption> T` | `getOption​(java.lang.Class<T> option)` | Gets an option value
    `<T extends MultiValueKnowledgeBuilderOption> T` | `getOption​(java.lang.Class<T> option, java.lang.String key)` | Gets an option value for the given option + key.
    `<T extends MultiValueKnowledgeBuilderOption> java.util.Set<java.lang.String>` | `getOptionKeys​(java.lang.Class<T> option)` | Retrieves the set of all keys for a MultiValueKnowledgeBuilderOption.
    `<T extends KnowledgeBuilderOption> void` | `setOption​(T option)` | Sets an option

- - ### Method Detail

    - #### setOption

          <T extends KnowledgeBuilderOption> void setOption​(T option)

      Sets an option
      Parameters:
        `option` - the option to be set. As options are type safe, the option itself contains the option key, and so a single parameter is enough.

    - #### getOption

          <T extends SingleValueKnowledgeBuilderOption> T getOption​(java.lang.Class<T> option)

      Gets an option value
      Parameters:
        `option` - the option class for the option being requested
      Returns:
        the Option value for the given option. Returns null if option is not configured.

    - #### getOption

          <T extends MultiValueKnowledgeBuilderOption> T getOption​(java.lang.Class<T> option,
                                                                   java.lang.String key)

      Gets an option value for the given option + key. This method should be used for multi-value options, like accumulate functions configuration where one option has multiple values, distinguished by a sub-key.
      Parameters:
        `option` - the option class for the option being requested
        `key` - the key for the option being requested
      Returns:
        the Option value for the given option + key. Returns null if option is not configured.

    - #### getOptionKeys

          <T extends MultiValueKnowledgeBuilderOption> java.util.Set<java.lang.String> getOptionKeys​(java.lang.Class<T> option)

      Retrieves the set of all keys for a MultiValueKnowledgeBuilderOption.
      Parameters:
        `option` - the option class for the requested keys
      Returns:
        a Set of Strings