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

  Modifier and Type
  Method
  Description
  `<X extends OptionsConfiguration<T, S, M>>
  X`
  `as(ConfigurationKey<X> configuration)`
  `ClassLoader`
  `getClassLoader()`
  `<C extends S>
  C`
  `getOption(OptionKey<C> optionKey)`
  Gets an option value
  `default <C extends M>
  C`
  `getOption(OptionKey<C> optionKey, String subKey)`
  Gets an option value for the given option + key.
  `default <C extends M>
  Set<String>`
  `getOptionKeys(OptionKey<C> optionKey)`
  Deprecated.
  `default <C extends M>
  Set<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 Details

  - ### 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, 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> Set<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> Set<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

    ClassLoader getClassLoader()

  - ### as

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