Package org.kie.api.conf

## Interface OptionsConfiguration<T extends Option,​S extends SingleValueOption,​M extends MultiValueOption>

- All Superinterfaces:
    `PropertiesConfiguration`
  All Known Subinterfaces:
    `KieBaseConfiguration`, `KieBaseOptionsConfiguration`, `KieSessionConfiguration`, `KieSessionOptionsConfiguration`

      public interface OptionsConfiguration<T extends Option,​S extends SingleValueOption,​M extends MultiValueOption>
      extends PropertiesConfiguration

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `<X extends OptionsConfiguration<T,​S,​M>> X` | `as​(ConfigurationKey<X> configuration)` |
    `java.lang.ClassLoader` | `getClassLoader()` |
    `<C extends S> C` | `getOption​(OptionKey<C> optionKey)` | Gets an option value
    `default <C extends M> C` | `getOption​(OptionKey<C> optionKey, java.lang.String subKey)` | Gets an option value for the given option + key.
    `default <C extends M> java.util.Set<java.lang.String>` | `getOptionKeys​(OptionKey<C> optionKey)` | Deprecated.
    `default <C extends M> java.util.Set<java.lang.String>` | `getOptionSubKeys​(OptionKey<C> optionKey)` | Retrieves the set of all sub keys for a MultiValueOption.
    `void` | `makeImmutable()` |
    `<C extends T> void` | `setOption​(C option)` | Gets an option value

    - ### Methods inherited from interface org.kie.api.PropertiesConfiguration

      `getProperty, setProperty`

- - ### Method Detail

    - #### makeImmutable

          void makeImmutable()

    - #### setOption

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

      Gets an option value
      Parameters:
        `option` - the option class for the option being requested

    - #### getOption

          <C extends S> C getOption​(OptionKey<C> optionKey)

      Gets an option value
      Parameters:
        `optionKey` - SingleValueOption OptionKey to look up the valye for.
      Returns:
        the Option value for the given option. Returns null if option is not configured.

    - #### getOption

          default <C extends M> C getOption​(OptionKey<C> optionKey,
                                            java.lang.String subKey)

      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:
        `optionKey` - the option class for the option being requested
        `subKey` - the key for the option being requested
      Returns:
        the Option value for the given option + key. Returns null if option is not configured.

    - #### getOptionKeys

          @Deprecated
          default <C extends M> java.util.Set<java.lang.String> getOptionKeys​(OptionKey<C> optionKey)

      Deprecated.
      Deprecated, KEY now exists top level, and its preferred to be explicit that this is a sub key
      Type Parameters:
        `C` -
      Parameters:
        `optionKey` -
      Returns:

    - #### getOptionSubKeys

          default <C extends M> java.util.Set<java.lang.String> getOptionSubKeys​(OptionKey<C> optionKey)

      Retrieves the set of all sub keys for a MultiValueOption.
      Parameters:
        `optionKey` - The OptionKey for the MultiValueOption
      Returns:
        a Set of Strings

    - #### getClassLoader

          java.lang.ClassLoader getClassLoader()

    - #### as

          <X extends OptionsConfiguration<T,​S,​M>> X as​(ConfigurationKey<X> configuration)