Package org.kie.internal.conf

## Class CompositeConfiguration<T extends org.kie.api.conf.Option,​S extends org.kie.api.conf.SingleValueOption,​M extends org.kie.api.conf.MultiValueOption>

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

- All Implemented Interfaces:
    `java.io.Externalizable`, `java.io.Serializable`, `org.kie.api.conf.OptionsConfiguration<T,​S,​M>`, `org.kie.api.PropertiesConfiguration`
  Direct Known Subclasses:
    `CompositeBaseConfiguration`

      public class CompositeConfiguration<T extends org.kie.api.conf.Option,​S extends org.kie.api.conf.SingleValueOption,​M extends org.kie.api.conf.MultiValueOption>
      extends java.lang.Object
      implements org.kie.api.conf.OptionsConfiguration<T,​S,​M>, java.io.Externalizable

  See Also:
    Serialized Form

- - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `<X extends org.kie.api.conf.OptionsConfiguration<T,​S,​M>> X` | `as​(org.kie.api.conf.ConfigurationKey<X> configuration)` |
    `java.lang.ClassLoader` | `getClassLoader()` |
    `<C extends S> C` | `getOption​(org.kie.api.conf.OptionKey<C> optionKey)` |
    `<C extends M> C` | `getOption​(org.kie.api.conf.OptionKey<C> optionKey, java.lang.String subKey)` |
    `<C extends M> java.util.Set<java.lang.String>` | `getOptionSubKeys​(org.kie.api.conf.OptionKey<C> optionKey)` |
    `ChainedProperties` | `getProperties()` |
    `java.lang.String` | `getProperty​(java.lang.String name)` |
    `java.lang.String` | `getProperty​(org.kie.api.PropertiesConfiguration exclude, java.lang.String name)` |
    `void` | `makeImmutable()` |
    `void` | `readExternal​(java.io.ObjectInput in)` |
    `void` | `setClassLoader​(java.lang.ClassLoader classLoader)` |
    `<C extends T> void` | `setOption​(C option)` |
    `boolean` | `setProperty​(java.lang.String name, java.lang.String value)` |
    `boolean` | `setProperty​(org.kie.api.PropertiesConfiguration exclude, java.lang.String name, java.lang.String value)` |
    `void` | `writeExternal​(java.io.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 Detail

    - #### CompositeConfiguration

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

  - ### Method Detail

    - #### writeExternal

          public void writeExternal​(java.io.ObjectOutput out)
                             throws java.io.IOException

      Specified by:
        `writeExternal` in interface `java.io.Externalizable`
      Throws:
        `java.io.IOException`

    - #### readExternal

          public void readExternal​(java.io.ObjectInput in)
                            throws java.io.IOException,
                                   java.lang.ClassNotFoundException

      Specified by:
        `readExternal` in interface `java.io.Externalizable`
      Throws:
        `java.io.IOException`
        `java.lang.ClassNotFoundException`

    - #### makeImmutable

          public void makeImmutable()

      Specified by:
        `makeImmutable` in interface `org.kie.api.conf.OptionsConfiguration<T extends org.kie.api.conf.Option,​S extends org.kie.api.conf.SingleValueOption,​M extends org.kie.api.conf.MultiValueOption>`

    - #### setOption

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

      Specified by:
        `setOption` in interface `org.kie.api.conf.OptionsConfiguration<T extends org.kie.api.conf.Option,​S extends org.kie.api.conf.SingleValueOption,​M extends org.kie.api.conf.MultiValueOption>`

    - #### getOption

          public <C extends S> C getOption​(org.kie.api.conf.OptionKey<C> optionKey)

      Specified by:
        `getOption` in interface `org.kie.api.conf.OptionsConfiguration<T extends org.kie.api.conf.Option,​S extends org.kie.api.conf.SingleValueOption,​M extends org.kie.api.conf.MultiValueOption>`

    - #### getOption

          public <C extends M> C getOption​(org.kie.api.conf.OptionKey<C> optionKey,
                                           java.lang.String subKey)

      Specified by:
        `getOption` in interface `org.kie.api.conf.OptionsConfiguration<T extends org.kie.api.conf.Option,​S extends org.kie.api.conf.SingleValueOption,​M extends org.kie.api.conf.MultiValueOption>`

    - #### getOptionSubKeys

          public <C extends M> java.util.Set<java.lang.String> getOptionSubKeys​(org.kie.api.conf.OptionKey<C> optionKey)

      Specified by:
        `getOptionSubKeys` in interface `org.kie.api.conf.OptionsConfiguration<T extends org.kie.api.conf.Option,​S extends org.kie.api.conf.SingleValueOption,​M extends org.kie.api.conf.MultiValueOption>`

    - #### getClassLoader

          public java.lang.ClassLoader getClassLoader()

      Specified by:
        `getClassLoader` in interface `org.kie.api.conf.OptionsConfiguration<T extends org.kie.api.conf.Option,​S extends org.kie.api.conf.SingleValueOption,​M extends org.kie.api.conf.MultiValueOption>`

    - #### setClassLoader

          public void setClassLoader​(java.lang.ClassLoader classLoader)

    - #### getProperties

          public ChainedProperties getProperties()

    - #### as

          public <X extends org.kie.api.conf.OptionsConfiguration<T,​S,​M>> X as​(org.kie.api.conf.ConfigurationKey<X> configuration)

      Specified by:
        `as` in interface `org.kie.api.conf.OptionsConfiguration<T extends org.kie.api.conf.Option,​S extends org.kie.api.conf.SingleValueOption,​M extends org.kie.api.conf.MultiValueOption>`

    - #### setProperty

          public boolean setProperty​(java.lang.String name,
                                     java.lang.String value)

      Specified by:
        `setProperty` in interface `org.kie.api.PropertiesConfiguration`

    - #### getProperty

          public java.lang.String getProperty​(java.lang.String name)

      Specified by:
        `getProperty` in interface `org.kie.api.PropertiesConfiguration`

    - #### setProperty

          public boolean setProperty​(org.kie.api.PropertiesConfiguration exclude,
                                     java.lang.String name,
                                     java.lang.String value)

    - #### getProperty

          public java.lang.String getProperty​(org.kie.api.PropertiesConfiguration exclude,
                                              java.lang.String name)