Package org.apache.tapestry5.commons

## Interface MappedConfiguration<K,​V>

- All Known Implementing Classes:
    `ValidatingMappedConfigurationWrapper`

      public interface MappedConfiguration<K,​V>

  Object passed into a service contributor method that allows the method provide contributed values to the service's configuration. A service can collect contributions in three different ways:
  - As an un-ordered collection of values
  - As an ordered list of values (where each value has a unique id, pre-requisites and post-requisites)
  - As a map of keys and values
  The service defines the type of contribution, in terms of a base class or service interface. Contributions must be compatible with the type.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `add​(K key, V value)` | Adds a keyed object to the service's contribution.
    `void` | `addInstance​(K key, Class<? extends V> clazz)` | Adds a keyed object as an instantiated instance (with dependencies injected) of a class.
    `void` | `override​(K key, V value)` | Overrides an existing contribution by its key.
    `void` | `overrideInstance​(K key, Class<? extends V> clazz)` | Overrides an existing contribution with a new instance.

- - ### Method Detail

    - #### add

          void add​(K key,
                   V value)

      Adds a keyed object to the service's contribution.
      Parameters:
        `key` - unique id for the value
        `value` - to contribute
      Throws:
        `IllegalArgumentException` - if key is not unique

    - #### override

          void override​(K key,
                        V value)

      Overrides an existing contribution by its key.
      Parameters:
        `key` - unique id of value to override
        `value` - new value, or null to remove the key entirely
      Since:
        5.1.0.0

    - #### addInstance

          void addInstance​(K key,
                           Class<? extends V> clazz)

      Adds a keyed object as an instantiated instance (with dependencies injected) of a class. When the value type is an interface and the class to be contributed is a local file, then a reloadable proxy for the value class will be created and contributed.
      Parameters:
        `key` - unique id for the value
        `clazz` - class to instantiate and contribute
      Since:
        5.1.0.0

    - #### overrideInstance

          void overrideInstance​(K key,
                                Class<? extends V> clazz)

      Overrides an existing contribution with a new instance. When the value type is an interface and the class to be contributed is a local file, then a reloadable proxy for the value class will be created and contributed.
      Parameters:
        `key` - unique id of value to override
        `clazz` - class to instantiate as override