## Uses of Interface
oracle.dbtools.plugin.api.types.TypeQualifier

- Packages that use TypeQualifier
  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.

- - ### Uses of TypeQualifier in oracle.dbtools.plugin.api.di

    Methods in oracle.dbtools.plugin.api.di that return TypeQualifier
    Modifier and Type | Method | Description
    --- | --- | ---
    `TypeQualifier<T>` | DeferredInstanceProvider.`qualifier()` |
    `TypeQualifier<T>` | InstanceProvider.`qualifier()` | Identifies the constraints used to select matches
    `TypeQualifier<T>` | Instances.QualifiedInstance.`qualifier()` | The service qualifier
    `TypeQualifier<T>` | ResolvedInstances.`qualifier()` |

    Methods in oracle.dbtools.plugin.api.di that return types with arguments of type TypeQualifier
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.util.Set<java.util.Map.Entry<TypeQualifier<?>,​InstanceProvider<?>>>` | Instances.`entries()` | Enumerate each of the instances in this set

    Methods in oracle.dbtools.plugin.api.di with parameters of type TypeQualifier
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T> Instances.Builder` | Instances.Builder.`add​(TypeQualifier<T> service, T instance)` | Add an instance of a service
    `ScopeConfiguration` | ScopeConfiguration.`add​(TypeQualifier<?> provides, java.lang.Object impl)` | Add an instance of the specified service
    `static <T> DeferredInstanceProvider<T>` | DeferredInstanceProvider.`from​(TypeQualifier<T> service, InstanceLocator locator)` | Instantiate a `DeferredInstanceProvider`
    `static <T> ResolvedInstances<T>` | ResolvedInstances.`matches​(TypeQualifier<T> qualifier, java.util.Collection<java.lang.Throwable> errors, java.lang.Iterable<T> matches)` | Produce a `ResolvedInstances` using the specified `TypeQualifier` and set of instances
    `<T> Instances.Builder` | Instances.Builder.`remove​(TypeQualifier<T> service)` | Remove all providers of the specified service
    `<T> InstanceProvider<T>` | InstanceLocator.`select​(TypeQualifier<T> qualifier)` | Select all services matching the specified `TypeQualifier`
    `<T> InstanceProvider<T>` | Instances.Builder.`select​(TypeQualifier<T> service)` |
    `<T> InstanceProvider<T>` | Instances.`select​(TypeQualifier<T> service)` |
    `Instances.Builder` | Instances.Builder.`set​(TypeQualifier<?> service, InstanceProvider<?> provider)` | Set the sole `InstanceProvider` for the specified service
    `<T> Instances.Builder` | Instances.Builder.`set​(TypeQualifier<T> qualifier, T instance)` | Set the sole implementation of the specified service
    `ScopeConfiguration` | ScopeConfiguration.`set​(TypeQualifier<?> provides, java.lang.Object impl)` | Set the sole implementation of the specified service to be the specified instance.

  - ### Uses of TypeQualifier in oracle.dbtools.plugin.api.types

    Methods in oracle.dbtools.plugin.api.types that return TypeQualifier
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <T> TypeQualifier<T>` | TypeQualifier.`any​(java.lang.Class<T> type)` | Matches any `TypeQualifier` of the specified type, ignoring any `Qualifier`s on the type
    `TypeQualifier<T>` | TypeQualifier.Builder.`build()` | Produce a new `TypeQualifier` instance
    `static <T> TypeQualifier<T>` | TypeQualifier.`from​(java.lang.Class<T> type, java.lang.annotation.Annotation... qualifiers)` | Deprecated. use `named(Class, String)`, `any(Class)` or `provides(Class)` to more accurately identify the `TypeQualifier`
    `static <T> TypeQualifier<T>` | TypeQualifier.`from​(java.lang.Class<T> type, java.lang.Iterable<? extends java.lang.annotation.Annotation> qualifiers)` | Deprecated. use `named(Class, String)`, `any(Class)` or `provides(Class)` to more accurately identify the `TypeQualifier`
    `static <T> TypeQualifier<T>` | TypeQualifier.`named​(java.lang.Class<T> type, java.lang.String name)` | Construct a `TypeQualifier` for the specified type and name
    `default TypeQualifier<?>` | TypeQualifier.`normalize()` | Normalize a potentially primitive type (e.g int.class) to it's boxed equivalent (e.g.
    `static <T> TypeQualifier<T>` | TypeQualifier.`provides​(java.lang.Class<T> type)` | Represents a provider of the specified service
    `TypeQualifier<?>` | TypeDependency.`qualifier()` | The constraints on which implementation of the type to inject
    `TypeQualifier<?>` | TypeDependencyNotAvailableException.`qualifier()` | The injection qualifier
    `static <T> TypeQualifier<T>` | TypeQualifier.`type​(java.lang.Class<T> type)` | Selects the specified concrete type
    `<E> TypeQualifier<E>` | TypeQualifier.`withType​(java.lang.Class<E> type)` | Override this `TypeQualifier` to produce a new instance that uses the specified type

    Methods in oracle.dbtools.plugin.api.types that return types with arguments of type TypeQualifier
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.util.Set<TypeQualifier<?>>` | ProvidedClassifier.`provides​(java.lang.Class<?> type)` | Determines the services that the specified type provides.
    `java.util.Set<TypeQualifier<?>>` | ProvidedClassifier.`provides​(java.lang.reflect.AnnotatedElement element)` | Determines the services that the specified annotation site provides
    `java.util.Set<TypeQualifier<?>>` | ProvidedClassifier.`provides​(java.lang.reflect.Field field)` | Determines the services a constant field provides
    `java.util.Set<TypeQualifier<?>>` | ProvidedClassifier.`provides​(AnnotationSet annotations)` | Determines the services that the specified AnnotationSet provides.
    `java.util.Set<TypeQualifier<?>>` | TypeReflection.`provides()` | Identifies the services that this type provides

    Methods in oracle.dbtools.plugin.api.types with parameters of type TypeQualifier
    Modifier and Type | Method | Description
    --- | --- | ---
    `static TypeDependency` | TypeDependency.`from​(TypeDependency.Kind kind, TypeQualifier<?> service)` | Produce a `TypeDependency` instance
    `static TypeDependencyNotAvailableException` | TypeDependencyNotAvailableException.`from​(TypeQualifier<?> type)` | Produce a `TypeDependencyNotAvailableException` instance for the specified `TypeQualifier`
    `static TypeDependencyNotAvailableException` | TypeDependencyNotAvailableException.`from​(TypeQualifier<?> type, java.lang.Throwable cause)` | Produce a `TypeDependencyNotAvailableException` instance for the specified `TypeQualifier`
    `boolean` | TypeReflections.`isIgnored​(TypeQualifier<?> service)` | Determines if the specified service type has been marked as ignored in this type set
    `boolean` | TypeQualifier.`matches​(TypeQualifier<?> other)` | Determines if this `TypeQualifier` is a match for the specified `TypeQualifier`
    `<T> java.util.Set<TypeReflection<? extends T>>` | TypeLocator.`selectType​(TypeQualifier<T> service)` | Choose the `TypeReflection`s that matches the specified criteria
    `<T> java.util.Set<TypeReflection<? extends T>>` | TypeReflections.`selectType​(TypeQualifier<T> service)` |