Package org.kie.internal.conf

# Class CompositeConfiguration<T extends Option,S extends SingleValueOption,M extends MultiValueOption>

java.lang.Object
org.kie.internal.conf.CompositeConfiguration<T,S,M>

All Implemented Interfaces:
  `Externalizable`, `Serializable`, `OptionsConfiguration<T,S,M>`, `PropertiesConfiguration`

Direct Known Subclasses:
  `CompositeBaseConfiguration`

public class CompositeConfiguration<T extends Option,S extends SingleValueOption,M extends MultiValueOption> extends Object implements OptionsConfiguration<T,S,M>, Externalizable

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CompositeConfiguration(ChainedProperties chainedProperties, ClassLoader classloader, ConfigurationFactory<T,S,M>... factories)`

- ## 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)`
  `<C extends M>
  C`
  `getOption(OptionKey<C> optionKey, String subKey)`
  `<C extends M>
  Set<String>`
  `getOptionSubKeys(OptionKey<C> optionKey)`
  `ChainedProperties`
  `getProperties()`
  `String`
  `getProperty(String name)`
  `String`
  `getProperty(PropertiesConfiguration exclude, String name)`
  `void`
  `makeImmutable()`
  `void`
  `readExternal(ObjectInput in)`
  `void`
  `setClassLoader(ClassLoader classLoader)`
  `<C extends T>
  void`
  `setOption(C option)`
  `boolean`
  `setProperty(String name, String value)`
  `boolean`
  `setProperty(PropertiesConfiguration exclude, String name, String value)`
  `void`
  `writeExternal(ObjectOutput out)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.kie.api.conf.OptionsConfiguration

  `getOptionKeys`

- ## Constructor Details

  - ### CompositeConfiguration

    public CompositeConfiguration(ChainedProperties chainedProperties, ClassLoader classloader, ConfigurationFactory<T,S,M>... factories)

- ## Method Details

  - ### writeExternal

    public void writeExternal(ObjectOutput out) throws IOException
    Specified by:
      `writeExternal` in interface `Externalizable`
    Throws:
      `IOException`

  - ### readExternal

    public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
    Specified by:
      `readExternal` in interface `Externalizable`
    Throws:
      `IOException`
      `ClassNotFoundException`

  - ### makeImmutable

    public void makeImmutable()
    Specified by:
      `makeImmutable` in interface `OptionsConfiguration<T extends Option,S extends SingleValueOption,M extends MultiValueOption>`

  - ### setOption

    public <C extends T> void setOption(C option)
    Specified by:
      `setOption` in interface `OptionsConfiguration<T extends Option,S extends SingleValueOption,M extends MultiValueOption>`

  - ### getOption

    public <C extends S> C getOption(OptionKey<C> optionKey)
    Specified by:
      `getOption` in interface `OptionsConfiguration<T extends Option,S extends SingleValueOption,M extends MultiValueOption>`

  - ### getOption

    public <C extends M> C getOption(OptionKey<C> optionKey, String subKey)
    Specified by:
      `getOption` in interface `OptionsConfiguration<T extends Option,S extends SingleValueOption,M extends MultiValueOption>`

  - ### getOptionSubKeys

    public <C extends M> Set<String> getOptionSubKeys(OptionKey<C> optionKey)
    Specified by:
      `getOptionSubKeys` in interface `OptionsConfiguration<T extends Option,S extends SingleValueOption,M extends MultiValueOption>`

  - ### getClassLoader

    public ClassLoader getClassLoader()
    Specified by:
      `getClassLoader` in interface `OptionsConfiguration<T extends Option,S extends SingleValueOption,M extends MultiValueOption>`

  - ### setClassLoader

    public void setClassLoader(ClassLoader classLoader)

  - ### getProperties

    public ChainedProperties getProperties()

  - ### as

    public <X extends OptionsConfiguration<T, S, M>> X as(ConfigurationKey<X> configuration)
    Specified by:
      `as` in interface `OptionsConfiguration<T extends Option,S extends SingleValueOption,M extends MultiValueOption>`

  - ### setProperty

    public boolean setProperty(String name, String value)
    Specified by:
      `setProperty` in interface `PropertiesConfiguration`

  - ### getProperty

    public String getProperty(String name)
    Specified by:
      `getProperty` in interface `PropertiesConfiguration`

  - ### setProperty

    public boolean setProperty(PropertiesConfiguration exclude, String name, String value)

  - ### getProperty

    public String getProperty(PropertiesConfiguration exclude, String name)