Package com.itextpdf.commons.utils
Class DIContainer
- java.lang.Object
-
- com.itextpdf.commons.utils.DIContainer
-
public class DIContainer extends java.lang.ObjectA simple dependency injection container.The container is thread-safe.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.concurrent.ConcurrentHashMap<java.lang.Class<?>,java.util.function.Supplier<java.lang.Object>>instancesprivate java.util.concurrent.ConcurrentHashMap<java.lang.Class<?>,java.lang.Object>localInstances
-
Constructor Summary
Constructors Constructor Description DIContainer()Creates a new instance ofDIContainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> TgetInstance(java.lang.Class<T> clazz)Gets an instance of a class.booleanisRegistered(java.lang.Class<?> clazz)Checks if an instance is registered for a class.voidregister(java.lang.Class<?> clazz, java.lang.Object inst)Registers an instance for a class.static voidregisterDefault(java.lang.Class<?> clazz, java.util.function.Supplier<java.lang.Object> supplier)Registers a default instance for a class.
-
-
-
Constructor Detail
-
DIContainer
public DIContainer()
Creates a new instance ofDIContainer.
-
-
Method Detail
-
registerDefault
public static void registerDefault(java.lang.Class<?> clazz, java.util.function.Supplier<java.lang.Object> supplier)Registers a default instance for a class.- Parameters:
clazz- the classsupplier- supplier of the instance
-
register
public void register(java.lang.Class<?> clazz, java.lang.Object inst)Registers an instance for a class.- Parameters:
clazz- the classinst- the instance
-
getInstance
public <T> T getInstance(java.lang.Class<T> clazz)
Gets an instance of a class.- Type Parameters:
T- the type of the class- Parameters:
clazz- the class- Returns:
- the instance
-
isRegistered
public boolean isRegistered(java.lang.Class<?> clazz)
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
-
-