Package io.activej.inject.util
Class ReflectionUtils
java.lang.Object
io.activej.inject.util.ReflectionUtils
These are various reflection utilities that are used by the DSL.
While you should not use them normally, they are pretty well organized and thus are left public.
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> Binding<T>bindingFromConstructor(Key<T> key, Constructor<T> constructor) static <T> Binding<T>bindingFromMethod(@Nullable Object module, Method method) static <T> BindingInitializer<T>fieldInjector(Key<T> container, Field field) static <T> @Nullable Binding<T>generateConstructorBinding(Key<T> key) static <T> @Nullable Binding<T>generateImplicitBinding(Key<T> key) static <T> BindingInitializer<T>generateInjectingInitializer(Key<T> container) static <T extends AnnotatedElement & Member>
List<T>getAnnotatedElements(Class<?> cls, Class<? extends Annotation> annotationType, Function<Class<?>, T[]> extractor, boolean allowStatic) static StringgetDisplayName(Type type) static @Nullable ObjectgetOuterClassInstance(Object innerClassInstance) static Scope[]getScope(AnnotatedElement annotatedElement) static StringgetShortName(Type type) static <T> Key<T>keyOf(@Nullable Type container, Type type, AnnotatedElement annotatedElement) static <T> BindingInitializer<T>methodInjector(Key<T> container, Method method) static @Nullable ObjectqualifierOf(AnnotatedElement annotatedElement) static ModulescanClassHierarchy(Class<?> moduleClass, @Nullable Object module) static ModulescanClassInto(Class<?> moduleClass, @Nullable Object module, ModuleBuilder builder) static Key<?>[]toDependencies(@Nullable Type container, Executable executable)
-
Constructor Details
-
ReflectionUtils
public ReflectionUtils()
-
-
Method Details
-
getDisplayName
-
getShortName
-
getOuterClassInstance
-
qualifierOf
-
keyOf
public static <T> Key<T> keyOf(@Nullable @Nullable Type container, Type type, AnnotatedElement annotatedElement) -
getScope
-
getAnnotatedElements
public static <T extends AnnotatedElement & Member> List<T> getAnnotatedElements(Class<?> cls, Class<? extends Annotation> annotationType, Function<Class<?>, T[]> extractor, boolean allowStatic) -
generateImplicitBinding
-
generateConstructorBinding
-
generateInjectingInitializer
-
fieldInjector
-
methodInjector
-
toDependencies
-
bindingFromMethod
-
bindingFromConstructor
-
scanClass
-
scanClassInto
public static Module scanClassInto(Class<?> moduleClass, @Nullable @Nullable Object module, ModuleBuilder builder) -
scanClassHierarchy
-