# Uses of Package
oracle.dbtools.plugin.api.di

- Packages that use oracle.dbtools.plugin.api.di
  Package | Description
  --- | ---
  oracle.dbtools.plugin.api.di | A `javax.inject` compatible Dependency Injection (D.I.) framework.
  oracle.dbtools.plugin.api.types | Provides a layer atop `java.lang.reflect` package to aid dependency resolution and injection.

- Classes in oracle.dbtools.plugin.api.di used by oracle.dbtools.plugin.api.di
  Class and Description
  Annotations Provides methods for working with annotations.
  Annotations.Builder Builds new `Annotation` instances
  AvailableDependencies Enumerates the publicly available services that can be injected into plugins via the `Inject` annotation on a type's constructor.
  DeferredInstanceProvider `InstanceProvider` implementation that defers resolving an instance until `DeferredInstanceProvider.get()`, `DeferredInstanceProvider.hasMultiple()`, `DeferredInstanceProvider.isUnsatisfied()`, or `DeferredInstanceProvider.iterator()` is invoked
  DependencyInjectionModule A Module is a collection of related services
  InstanceLocator Allows the application to dynamically obtain instances of services with a specified combination of required type and qualifiers.
  InstanceProvider `Provider` specialization that provides the ability to: determine if a provider implementation was found, via `InstanceProvider.isUnsatisfied()` determine if there are multiple implementations found, via `InstanceProvider.isAmbiguous()` Iterate over the available implementations, via `InstanceProvider.iterator()` Stream through available implementations, via `InstanceProvider.stream()`
  Instances Locates concrete instances of types
  Instances.Builder Build `Instances` instances
  Instances.QualifiedInstance Represents an individual instance of a qualified service
  ModuleDependencies Enumerates the set of `DependencyInjectionModule`s that a given `DependencyInjectionModule` depends on
  ModuleDependencies.Builder
  ResolvedInstances Represents the discovered matches for a call to `InstanceLocator.select(TypeQualifier)`
  ScopeConfiguration Provides the capability to inject additional services and instances into a scope

- Classes in oracle.dbtools.plugin.api.di used by oracle.dbtools.plugin.api.types
  Class and Description
  InstanceLocator Allows the application to dynamically obtain instances of services with a specified combination of required type and qualifiers.
  Instances Locates concrete instances of types

Copyright © 2010, 2022, Oracle and/or its affiliates.