Interface OrderedConfiguration<T>

  • All Known Implementing Classes:
    ValidatingOrderedConfigurationWrapper

    public interface OrderedConfiguration<T>
    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, or be coercable to the type.
    See Also:
    Contribute, UsesConfiguration
    • Method Detail

      • add

        void add(String id,
                 T object,
                 String... constraints)
        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.
        Parameters:
        id - a unique id for the object; the id will be fully qualified with the contributing module's id
        constraints - used to order the object relative to other contributed objects
        object - to add to the service's configuration
      • override

        void override(String id,
                      T object,
                      String... constraints)
        Overrides a normally contributed object. Each override must match a single normally contributed object.
        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)
        Since:
        5.1.0.0
      • addInstance

        void addInstance(String id,
                         Class<? extends T> clazz,
                         String... constraints)
        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.
        Parameters:
        id - of contribution (used for ordering)
        clazz - class to instantiate
        constraints - used to order the object relative to other contributed objects
        Since:
        5.1.0.0
      • overrideInstance

        void overrideInstance(String id,
                              Class<? extends T> clazz,
                              String... constraints)
        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.
        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)
        Since:
        5.1.0.0