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.ObjectTypeInstantiatorimplementations are responsible for instantiating instances of type TypeInstantiator.- Since:
- 19.3.0
- Author:
- cdivilly
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedTypeInstantiator(java.lang.Class<T> type)Constructor for a customTypeInstantiatorimplementationprotectedTypeInstantiator(java.lang.Class<T> type, boolean custom)Constructor
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleandependenciesSatisfied(InstanceLocator locator)Used to determine if the dependencies for the constructor are satisfied.booleanisCustom()Indicates if this is a custom instantiator for this type, or a generic one provided by the dependency injection frameworkabstract Tload(InstanceLocator locator)Instantiate the instance of Tprotected TypeDependencyNotAvailableExceptionnotAvailable(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 customTypeInstantiatorimplementation- 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 customTypeInstantiatorimplementation, 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- TheInstanceLocatorthat 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
TypeInstantiatorinstantiates
-
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:
-
-