Package oracle.dbtools.plugin.api.di

## Interface Instantiator<T>

- Type Parameters:
    `T` - The type to be instantiated

      @Deprecated
      public interface Instantiator<T>

  Deprecated.
  Alternative techniques for accelerating dependency injection make the use of this interface redundant

  Instantiates an instance of a specific type. Note that instances of this type are automatically generated by the `AnnotationProcessor` at compile time. Sub-classes of this type MUST NOT be manually defined.

  In order to be able to generate an `Instantiator` for a type, the type's constructor must have package or public level visibility. If this requirement is not met then an `Instantiator` will not be generated for the type.

  Author:
    cdivilly

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `T` | `newInstance​(java.lang.Object... dependencies)` | Deprecated. Produce a new instance of the specified type
    `java.lang.Class<T>` | `type()` | Deprecated. The type that this `Instantiator` creates

- - ### Method Detail

    - #### type

          java.lang.Class<T> type()

      Deprecated.
      The type that this `Instantiator` creates
      Returns:
        `Class` instance

    - #### newInstance

          T newInstance​(java.lang.Object... dependencies)
                 throws java.lang.reflect.InvocationTargetException

      Deprecated.
      Produce a new instance of the specified type
      Parameters:
        `dependencies` - Instances of types that the instantiated type depends on. Theses dependencies match the order established by the parameter declarations of the type's `@Injected` constructor.
      Returns:
        instance of the specified type
      Throws:
        `java.lang.reflect.InvocationTargetException` - if an error occurs during invocation of the instantiated type's constructor