Package org.apache.tapestry5.services.transform

## Interface InjectionProvider2

- All Known Implementing Classes:
    `AssetInjectionProvider`, `BlockInjectionProvider`, `CommonResourcesInjectionProvider`, `DefaultInjectionProvider`, `InjectNamedProvider`, `ServiceInjectionProvider`

      @UsesOrderedConfiguration(InjectionProvider2.class)
      public interface InjectionProvider2

  Provides some form of injection when the value for an `Inject` annotation is present. In this case, the provider is responsible for determining the value to be injected from the field name and field type. This interface will be used as part of a `chain of command`.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `provideInjection​(PlasticField field, ObjectLocator locator, MutableComponentModel componentModel)` | Perform the injection, if possible.

- - ### Method Detail

    - #### provideInjection

          boolean provideInjection​(PlasticField field,
                                   ObjectLocator locator,
                                   MutableComponentModel componentModel)

      Perform the injection, if possible. Most often, this will result in a call to `PlasticField.inject(Object)`. The caller is responsible for invoking `PlasticField.claim(Object)`.
      Parameters:
        `field` - that has the `Inject` annotation
        `locator` - allows services to be located
        `componentModel` - defines the relevant aspects of the component
      Returns:
        true if an injection has been made (terminates the command chain), false to continue down the chain