Package org.apache.tapestry5.ioc.internal

## Class ValidatingOrderedConfigurationWrapper<T>

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

- Type Parameters:
    `T` -
  All Implemented Interfaces:
    `OrderedConfiguration<T>`

      public class ValidatingOrderedConfigurationWrapper<T>
      extends AbstractConfigurationImpl<T>
      implements OrderedConfiguration<T>

  Wraps a `List` as a `OrderedConfiguration`, implementing validation of values provided to an `OrderedConfiguration`.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ValidatingOrderedConfigurationWrapper​(Class<T> expectedType, ObjectLocator locator, TypeCoercerProxy typeCoercer, Orderer<T> orderer, Map<String,​org.apache.tapestry5.ioc.internal.OrderedConfigurationOverride<T>> overrides, ContributionDef contribDef)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `add​(String id, T object, String... constraints)` | Adds an ordered object to a service's contribution.
    `void` | `addInstance​(String id, Class<? extends T> clazz, String... constraints)` | Adds an ordered object by instantiating (with dependencies) the indicated class.
    `void` | `override​(String id, T object, String... constraints)` | Overrides a normally contributed object.
    `void` | `overrideInstance​(String id, Class<? extends T> clazz, String... constraints)` | Instantiates an object and adds it as an override.

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

    - #### ValidatingOrderedConfigurationWrapper

          public ValidatingOrderedConfigurationWrapper​(Class<T> expectedType,
                                                       ObjectLocator locator,
                                                       TypeCoercerProxy typeCoercer,
                                                       Orderer<T> orderer,
                                                       Map<String,​org.apache.tapestry5.ioc.internal.OrderedConfigurationOverride<T>> overrides,
                                                       ContributionDef contribDef)

  - ### Method Detail

    - #### add

          public void add​(String id,
                          T object,
                          String... constraints)

      Description copied from interface: `OrderedConfiguration`
      Adds an ordered object to a service's contribution. Each object has an id (which must be unique). Optionally, pre-requisites (a list of ids that must precede this object) and post-requisites (ids that must follow) can be provided. If no constraints are supplied, then an implicit constraint is supplied: after the previously contributed id within the same contribution method.
      Specified by:
        `add` in interface `OrderedConfiguration<T>`
      Parameters:
        `id` - a unique id for the object; the id will be fully qualified with the contributing module's id
        `object` - to add to the service's configuration
        `constraints` - used to order the object relative to other contributed objects

    - #### override

          public void override​(String id,
                               T object,
                               String... constraints)

      Description copied from interface: `OrderedConfiguration`
      Overrides a normally contributed object. Each override must match a single normally contributed object.
      Specified by:
        `override` in interface `OrderedConfiguration<T>`
      Parameters:
        `id` - identifies object to override
        `object` - overriding object (may be null)
        `constraints` - constraints for the overridden object, replacing constraints for the original object (even if omitted, in which case the override object will have no ordering constraints)

    - #### addInstance

          public void addInstance​(String id,
                                  Class<? extends T> clazz,
                                  String... constraints)

      Description copied from interface: `OrderedConfiguration`
      Adds an ordered object by instantiating (with dependencies) the indicated class. 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 `OrderedConfiguration<T>`
      Parameters:
        `id` - of contribution (used for ordering)
        `clazz` - class to instantiate
        `constraints` - used to order the object relative to other contributed objects

    - #### overrideInstance

          public void overrideInstance​(String id,
                                       Class<? extends T> clazz,
                                       String... constraints)

      Description copied from interface: `OrderedConfiguration`
      Instantiates an object and adds it as an override. 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:
        `overrideInstance` in interface `OrderedConfiguration<T>`
      Parameters:
        `id` - of object to override
        `clazz` - to instantiate
        `constraints` - constraints for the overridden object, replacing constraints for the original object (even if omitted, in which case the override object will have no ordering constraints)