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