Class DIContainer
java.lang.Object
com.itextpdf.commons.utils.DIContainer
A simple dependency injection container.
The container is thread-safe.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final ConcurrentHashMap<Class<?>, Supplier<Object>> private final ConcurrentHashMap<Class<?>, Object> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T> TgetInstance(Class<T> clazz) Gets an instance of a class.booleanisRegistered(Class<?> clazz) Checks if an instance is registered for a class.voidRegisters an instance for a class.static voidregisterDefault(Class<?> clazz, Supplier<Object> supplier) Registers a default instance for a class.
-
Field Details
-
instances
-
localInstances
-
-
Constructor Details
-
DIContainer
public DIContainer()Creates a new instance ofDIContainer.
-
-
Method Details
-
registerDefault
-
register
-
getInstance
Gets an instance of a class.- Type Parameters:
T- the type of the class- Parameters:
clazz- the class- Returns:
- the instance
-
isRegistered
Checks if an instance is registered for a class. If the class is registered but the value is null, it will still returntrue.- Parameters:
clazz- the class- Returns:
trueif an instance is registered,falseotherwise
-