## Uses of Interface
org.apache.tapestry5.services.transform.InjectionProvider2

- Packages that use InjectionProvider2
  Package | Description
  --- | ---
  org.apache.tapestry5.internal.services | [INTERNAL USE ONLY] internal service classes; API subject to change
  org.apache.tapestry5.internal.transform | [INTERNAL USE ONLY] component class transformation implementation classes; API subject to change.
  org.apache.tapestry5.modules |

- - ### Uses of InjectionProvider2 in org.apache.tapestry5.internal.services

    Classes in org.apache.tapestry5.internal.services that implement InjectionProvider2
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AssetInjectionProvider` | Performs injection of assets, based on the presence of the `Path` annotation.
    `class` | `BlockInjectionProvider` | Identifies fields of type `Block` that have the `Inject` annotation and converts them into read-only fields containing the injected Block from the template.
    `class` | `CommonResourcesInjectionProvider` | Allows for a number of anonymous injections based on the type of field that is to be injected.
    `class` | `DefaultInjectionProvider` | Worker for the `Inject` annotation that delegates out to the master `MasterObjectProvider` to access the value.
    `class` | `ServiceInjectionProvider` | A very late worker related to the `Inject` annotation that, when all other forms of injection have failed, matches the field type to a service interface.

  - ### Uses of InjectionProvider2 in org.apache.tapestry5.internal.transform

    Classes in org.apache.tapestry5.internal.transform that implement InjectionProvider2
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `InjectNamedProvider` | Processes the combination of `Inject` and `Named` annotations.

    Constructors in org.apache.tapestry5.internal.transform with parameters of type InjectionProvider2
    Constructor | Description
    --- | ---
    `InjectWorker​(ObjectLocator locator, InjectionProvider2 injectionProvider, OperationTracker tracker)` |

  - ### Uses of InjectionProvider2 in org.apache.tapestry5.modules

    Methods in org.apache.tapestry5.modules that return InjectionProvider2
    Modifier and Type | Method | Description
    --- | --- | ---
    `InjectionProvider2` | TapestryModule.`buildInjectionProvider​(java.util.List<InjectionProvider2> configuration)` | A chain of command for providing values for `Inject`-ed fields in component classes.

    Method parameters in org.apache.tapestry5.modules with type arguments of type InjectionProvider2
    Modifier and Type | Method | Description
    --- | --- | ---
    `InjectionProvider2` | TapestryModule.`buildInjectionProvider​(java.util.List<InjectionProvider2> configuration)` | A chain of command for providing values for `Inject`-ed fields in component classes.
    `static void` | TapestryModule.`provideStandardInjectionProviders​(OrderedConfiguration<InjectionProvider2> configuration, SymbolSource symbolSource, AssetSource assetSource)` | Default based on `MasterObjectProvider` Named Handles fields with the `Named` annotation Block injects fields of type `Block` CommonResources Access to properties of resources (log, messages, etc.) Asset injection of assets (triggered via `Path` annotation), with the path relative to the component class Service Ordered last, for use when Inject is present and nothing else works, matches field type against Tapestry IoC services