Package oracle.dbtools.plugin.api.types
Class TypeInstantiator<T>
- java.lang.Object
-
- oracle.dbtools.plugin.api.types.TypeInstantiator<T>
-
- Type Parameters:
T
- The type of object to instantiate
public abstract class TypeInstantiator<T> extends java.lang.Object
TypeInstantiator
implementations are responsible for instantiating instances of type TypeInstantiator.- Since:
- 19.3.0
- Author:
- cdivilly
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
TypeInstantiator(java.lang.Class<T> type)
Constructor for a customTypeInstantiator
implementationprotected
TypeInstantiator(java.lang.Class<T> type, boolean custom)
Constructor
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
dependenciesSatisfied(InstanceLocator locator)
Used to determine if the dependencies for the constructor are satisfied.boolean
isCustom()
Indicates if this is a custom instantiator for this type, or a generic one provided by the dependency injection frameworkabstract T
load(InstanceLocator locator)
Instantiate the instance of Tprotected TypeDependencyNotAvailableException
notAvailable(java.lang.Throwable cause)
java.lang.Class<T>
type()
The type that will be instantiated
-
-
-
Constructor Detail
-
TypeInstantiator
protected TypeInstantiator(java.lang.Class<T> type)
Constructor for a customTypeInstantiator
implementation- Parameters:
type
- The type that will be instantiated
-
TypeInstantiator
protected TypeInstantiator(java.lang.Class<T> type, boolean custom)
Constructor- Parameters:
type
- The type that will be instantiatedcustom
- if true indicates this is a customTypeInstantiator
implementation, as opposed to one generated by the dependency injection runtime
-
-
Method Detail
-
isCustom
public boolean isCustom()
Indicates if this is a custom instantiator for this type, or a generic one provided by the dependency injection framework- Returns:
- true if this is a custom instantiator, false if this is a generic instantiator
-
load
public abstract T load(InstanceLocator locator) throws TypeDependencyNotAvailableException
Instantiate the instance of T- Parameters:
locator
- TheInstanceLocator
that provides the dependencies required to instantiate T- Returns:
- instance of T
- Throws:
TypeDependencyNotAvailableException
- if the type could not be instantiated
-
type
public final java.lang.Class<T> type()
The type that will be instantiated- Returns:
- The type that this
TypeInstantiator
instantiates
-
notAvailable
protected final TypeDependencyNotAvailableException notAvailable(java.lang.Throwable cause)
-
dependenciesSatisfied
public boolean dependenciesSatisfied(InstanceLocator locator)
Used to determine if the dependencies for the constructor are satisfied.- Parameters:
locator
-- Returns:
-
-