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

  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 Details

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

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