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

- Packages that use oracle.dbtools.plugin.api.types
  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.types used by oracle.dbtools.plugin.api.di
  Class | Description
  --- | ---
  TypeQualifier | Qualifies the specific type of a service to be discovered via `InstanceLocator`.
  TypeReflections | Represents a set of `Class` instances that may be instantiated and injected using `InstanceLocator`

- Classes in oracle.dbtools.plugin.api.types used by oracle.dbtools.plugin.api.types
  Class | Description
  --- | ---
  AnnotationSet | Immutable set of `Annotation` instances
  Primitive | Enumerates the Java primitive types
  PrimitiveWrapper | Enumeration of the wrapper type for each Java `Primitive` type
  ProvidedClassifier | Determines what `Class` types an `AnnotatedElement` provides.
  TypeDependencies | Captures the dependencies of a `Class`
  TypeDependency | Encapsulates a single dependency of a type.
  TypeDependency.Kind | Enumerates how a type will be injected at a particular injetion site
  TypeDependencyNotAvailableException | Indicates an instance of a type which some other type depends on (via it's `Inject` annotated constructor is not available in the current scope
  TypeInstantiator | `TypeInstantiator` implementations are responsible for instantiating instances of type TypeInstantiator.
  TypeLocator | Service for selecting `TypeReflection` instances
  TypeProvider | Provides an instance of the specified type
  TypeQualifier | Qualifies the specific type of a service to be discovered via `InstanceLocator`.
  TypeQualifier.Builder | Build `TypeQualifier` instances
  TypeQualifier.MatchingMode | Determines how the `TypeQualifier` matches types
  TypeReflection | Provides higher level abstraction about the type metadata of a `Class`, providing information about it's dependencies and what services it provides
  TypeReflections | Represents a set of `Class` instances that may be instantiated and injected using `InstanceLocator`
  TypeReflections.Builder |