oracle.dbtools.plugin.api.types

## Interface TypeLocator

- All Known Implementing Classes:
    TypeReflections

      public interface TypeLocator

  Service for selecting `TypeReflection` instances
  Since:
    19.3.0
  Author:
    cdivilly

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default <T> TypeReflection<T>` | `forType(Class<T> type)` Find match for the specified type
    `default <T> TypeReflection<T>` | `get(Class<T> type)` Synonym for `forType(Class)`
    `<T> Set<TypeReflection<? extends T>>` | `selectType(TypeQualifier<T> service)` Choose the `TypeReflection`s that matches the specified criteria

- - ### Method Detail

    - #### forType

          default <T> TypeReflection<T> forType(Class<T> type)
                                         throws IllegalArgumentException

      Find match for the specified type
      Type Parameters:
        `T` - The type of the service
      Parameters:
        `type` - The type to search for
      Returns:
        `TypeReflection` instance
      Throws:
        `IllegalArgumentException` - if the specified type is not part of this set

    - #### get

          default <T> TypeReflection<T> get(Class<T> type)
                                     throws IllegalArgumentException

      Synonym for `forType(Class)`
      Type Parameters:
        `T` - The type of the service
      Parameters:
        `type` - The type to search for
      Returns:
        `TypeReflection` instance
      Throws:
        `IllegalArgumentException` - if the specified type is not part of this set

    - #### selectType

          <T> Set<TypeReflection<? extends T>> selectType(TypeQualifier<T> service)

      Choose the `TypeReflection`s that matches the specified criteria
      Type Parameters:
        `T` - The type of the service to find
      Parameters:
        `service` - The qualifiers on the service
      Returns:
        `Set` of matching `TypeReflection` instances

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