Top Fields Constructors Methods
com.airhacks.afterburner.injection

public Class Injector

extends Object
Class Inheritance
Imports
java.lang.annotation.Annotation, java.lang.reflect.Field, .InvocationTargetException, .Method, java.security.AccessController, .PrivilegedAction, java.util.Collection, .Collections, .Map, .Set, .WeakHashMap, java.util.function.Function, com.airhacks.afterburner.configuration.Configurator, jakarta.annotation.PostConstruct, .PreDestroy, jakarta.inject.Inject, org.slf4j.Logger, .LoggerFactory

Author
adam-bien.com

Field Summary

Modifier and TypeField and Description
private static final Configurator
private static Function<Class<?>, Object>
private static Logger
private static final Map<Class<?>, Object>
private static final Set<Object>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
pack-priv static void
destroy(Object instance)

public static void
pack-priv static Function<Class<? extends Object>, Object>
pack-priv static void
initialize(Object instance)

pack-priv static <T> T
pack-priv static <T> T
injectAndInitialize(T product, Function<String, Object> injectionContext)

pack-priv static void
injectIntoField(final Field field, final Object instance, final Object target)

public static void
injectMembers(final Object instance, Function<String, Object> injectionContext)

public static void
injectMembers(Class<? extends Object> clazz, final Object instance, Function<String, Object> injectionContext)

public static <T> T
public static <T> T
instantiateModelOrService(Class<T> clazz, Function<String, Object> injectionContext)

public static <T> T
instantiatePresenter(Class<T> clazz, Function<String, Object> injectionContext)

public static <T> T
pack-priv static void
invokeMethodWithAnnotation(Class<?> clazz, final Object instance, final Class<? extends Annotation> annotationClass)

private static boolean
public static <T> T
public static <
the class to initialize
T
>
T

Returns:

presenter with injected fields
registerExistingAndInject
(T
An already existing (legacy) presenter interesting in injection
instance
,
Function<String, Object> injectionContext)

Caches the passed presenter internally and injects all fields

public static void
public static void
public static void
setConfigurationSource(Function<Object, Object> configurationSupplier)

public static void
setInstanceSupplier(Function<Class<?>, Object> instanceSupplier)

public static <T> void
setModelOrService(Class<T> clazz, T instance)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

configuratorback to summary
private static final Configurator configurator
instanceSupplierback to summary
private static Function<Class<?>, Object> instanceSupplier
LOGGERback to summary
private static Logger LOGGER
modelsAndServicesback to summary
private static final Map<Class<?>, Object> modelsAndServices
presentersback to summary
private static final Set<Object> presenters

Constructor Detail

Injectorback to summary
public Injector()

Method Detail

destroyback to summary
pack-priv static void destroy(Object instance)
forgetAllback to summary
public static void forgetAll()
getDefaultInstanceSupplierback to summary
pack-priv static Function<Class<? extends Object>, Object> getDefaultInstanceSupplier()
initializeback to summary
pack-priv static void initialize(Object instance)
injectAndInitializeback to summary
pack-priv static <T> T injectAndInitialize(T product)
injectAndInitializeback to summary
pack-priv static <T> T injectAndInitialize(T product, Function<String, Object> injectionContext)
injectIntoFieldback to summary
pack-priv static void injectIntoField(final Field field, final Object instance, final Object target)
injectMembersback to summary
public static void injectMembers(final Object instance, Function<String, Object> injectionContext)
injectMembersback to summary
public static void injectMembers(Class<? extends Object> clazz, final Object instance, Function<String, Object> injectionContext) throws SecurityException
instantiateModelOrServiceback to summary
public static <T> T instantiateModelOrService(Class<T> clazz)
instantiateModelOrServiceback to summary
public static <T> T instantiateModelOrService(Class<T> clazz, Function<String, Object> injectionContext)
Annotations
@SuppressWarnings:unchecked
instantiatePresenterback to summary
public static <T> T instantiatePresenter(Class<T> clazz, Function<String, Object> injectionContext)
instantiatePresenterback to summary
public static <T> T instantiatePresenter(Class<T> clazz)
invokeMethodWithAnnotationback to summary
pack-priv static void invokeMethodWithAnnotation(Class<?> clazz, final Object instance, final Class<? extends Annotation> annotationClass) throws IllegalStateException, SecurityException
isNotPrimitiveOrStringback to summary
private static boolean isNotPrimitiveOrString(Class<?> type)
registerExistingAndInjectback to summary
public static <T> T registerExistingAndInject(T instance)
registerExistingAndInjectback to summary
public static <T> T registerExistingAndInject(T instance, Function<String, Object> injectionContext)

Caches the passed presenter internally and injects all fields

Parameters
<T>
the class to initialize
instance:T

An already existing (legacy) presenter interesting in injection

Returns:T

presenter with injected fields

resetConfigurationSourceback to summary
public static void resetConfigurationSource()
resetInstanceSupplierback to summary
public static void resetInstanceSupplier()
setConfigurationSourceback to summary
public static void setConfigurationSource(Function<Object, Object> configurationSupplier)
setInstanceSupplierback to summary
public static void setInstanceSupplier(Function<Class<?>, Object> instanceSupplier)
setModelOrServiceback to summary
public static <T> void setModelOrService(Class<T> clazz, T instance)