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

  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 Details

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