Package org.apache.tapestry5.ioc.internal

## Class ValidatingConfigurationWrapper<T>

- java.lang.Object
- - org.apache.tapestry5.ioc.internal.AbstractConfigurationImpl<T>
  - - org.apache.tapestry5.ioc.internal.ValidatingConfigurationWrapper<T>

- All Implemented Interfaces:
    `Configuration<T>`

      public class ValidatingConfigurationWrapper<T>
      extends AbstractConfigurationImpl<T>
      implements Configuration<T>

  Wraps a `Collection` as a `Configuration` and perform validation that collected value are of the correct type.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ValidatingConfigurationWrapper​(Class<T> expectedType, ObjectLocator locator, TypeCoercerProxy typeCoercer, Collection<T> collection, String serviceId)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `add​(T object)` | Adds an object to the service's contribution.
    `void` | `addInstance​(Class<? extends T> clazz)` | Automatically instantiates an instance of the class, with dependencies injected, and adds it to the configuration.

    - ### Methods inherited from class org.apache.tapestry5.ioc.internal.AbstractConfigurationImpl

      `instantiate`

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

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

- - ### Constructor Detail

    - #### ValidatingConfigurationWrapper

          public ValidatingConfigurationWrapper​(Class<T> expectedType,
                                                ObjectLocator locator,
                                                TypeCoercerProxy typeCoercer,
                                                Collection<T> collection,
                                                String serviceId)

  - ### Method Detail

    - #### add

          public void add​(T object)

      Description copied from interface: `Configuration`
      Adds an object to the service's contribution.
      Specified by:
        `add` in interface `Configuration<T>`
      Parameters:
        `object` - to add to the service's configuration

    - #### addInstance

          public void addInstance​(Class<? extends T> clazz)

      Description copied from interface: `Configuration`
      Automatically instantiates an instance of the class, with dependencies injected, and adds it to the configuration. When the configuration type is an interface and the class to be contributed is a local file, then a reloadable proxy for the class will be created and contributed.
      Specified by:
        `addInstance` in interface `Configuration<T>`
      Parameters:
        `clazz` - what class to instantiate