Class DependencyManager
java.lang.Object
tech.guilhermekaua.spigotboot.core.context.dependency.manager.DependencyManager
- All Implemented Interfaces:
BeanPostProcessorRegistry
-
Constructor Summary
ConstructorsConstructorDescriptionDependencyManager(@NotNull BeanDefinitionRegistry beanDefinitionRegistry, @NotNull BeanInstanceRegistry beanInstanceRegistry, @NotNull BeanProxyDeciderResolver beanProxyDeciderResolver) DependencyManager(@NotNull BeanDefinitionRegistry beanDefinitionRegistry, @NotNull BeanInstanceRegistry beanInstanceRegistry, @NotNull BeanProxyDeciderResolver beanProxyDeciderResolver, @NotNull CustomInjectorRegistry customInjectorRegistry) -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()@Nullable Constructor<?>findInjectConstructor(@NotNull Class<?> type) @NotNull BeanPostProcessorRegistryReturns this manager viewed as aBeanPostProcessorRegistry, so callers can contribute post-processors without depending on the rest of the manager's API.@NotNull List<BeanPostProcessor><T> @NotNull List<T>getInstancesByType(@NotNull Class<T> type) @NotNull ObjectinitializeBean(@NotNull BeanDefinition definition, @NotNull Object rawInstance) <T> voidinjectDependencies(Class<T> clazz, T instance) <T> voidinjectDependencies(T instance) voidregister(@NotNull BeanPostProcessor beanPostProcessor) Registers a post-processor.voidregisterBeanPostProcessor(@NotNull BeanPostProcessor beanPostProcessor) <T> TregisterDependency(@NotNull Class<T> clazz, @NotNull Class<? extends T> dependencyClass, @Nullable String qualifier, boolean primary) <T> TregisterDependency(@NotNull Class<T> clazz, @NotNull Class<? extends T> dependencyClass, @Nullable String qualifier, boolean primary, @Nullable DependencyResolveResolver<T> resolver) <T> TregisterDependency(@NotNull Class<T> clazz, @NotNull Class<? extends T> dependencyClass, @Nullable String qualifier, boolean primary, @Nullable DependencyResolveResolver<T> resolver, @Nullable DependencyReloadCallback reloadCallback) <T> BeanDefinitionregisterDependency(@NotNull Class<T> clazz, @NotNull Class<? extends T> dependencyClass, T instance, @Nullable String qualifier, boolean primary, @Nullable DependencyResolveResolver<? extends T> resolver) <T> BeanDefinitionregisterDependency(@NotNull Class<T> clazz, @NotNull Class<? extends T> dependencyClass, T instance, @Nullable String qualifier, boolean primary, @Nullable DependencyResolveResolver<? extends T> resolver, @Nullable DependencyReloadCallback reloadCallback) <T> TregisterDependency(@NotNull Class<T> dependencyClass, @Nullable String qualifier, boolean primary, DependencyResolveResolver<T> resolver) <T> TregisterDependency(@NotNull Class<T> dependencyClass, @Nullable String qualifier, boolean primary, DependencyResolveResolver<T> resolver, @Nullable DependencyReloadCallback reloadCallback) <T> TregisterDependency(@NotNull Class<T> clazz, T instance, @Nullable String qualifier, boolean primary) <T> TregisterDependency(@NotNull Class<T> clazz, T instance, @Nullable String qualifier, boolean primary, @Nullable DependencyReloadCallback reloadCallback) <T> TregisterDependency(T instance, @Nullable String qualifier, boolean primary) <T> TregisterDependency(T instance, @Nullable String qualifier, boolean primary, @Nullable DependencyReloadCallback reloadCallback) voidregisterInjector(@NotNull CustomInjector injector) Registers a custom injector.voidObject[]resolveArguments(@NotNull Executable executable) Object[]resolveArguments(@NotNull Parameter[] parameters) <T> TresolveDependency(@NotNull Class<T> clazz, @Nullable String qualifier) <T> TresolveDependency(@NotNull Class<T> clazz, @Nullable String qualifier, Supplier<T> fallback) <T> TresolveDependency(@NotNull InjectionPoint injectionPoint) Resolves a dependency for the given injection point.<T> TresolveFromDefinition(@NotNull Class<T> requestedType, @NotNull BeanDefinition definition)
-
Constructor Details
-
DependencyManager
public DependencyManager() -
DependencyManager
public DependencyManager(@NotNull @NotNull BeanDefinitionRegistry beanDefinitionRegistry, @NotNull @NotNull BeanInstanceRegistry beanInstanceRegistry, @NotNull @NotNull BeanProxyDeciderResolver beanProxyDeciderResolver) -
DependencyManager
public DependencyManager(@NotNull @NotNull BeanDefinitionRegistry beanDefinitionRegistry, @NotNull @NotNull BeanInstanceRegistry beanInstanceRegistry, @NotNull @NotNull BeanProxyDeciderResolver beanProxyDeciderResolver, @NotNull @NotNull CustomInjectorRegistry customInjectorRegistry)
-
-
Method Details
-
registerInjector
Registers a custom injector.Custom injectors allow modules to provide alternative ways of resolving dependencies. They are consulted in order before falling back to the default bean resolution.
- Parameters:
injector- the custom injector to register, not null
-
registerBeanPostProcessor
-
getBeanPostProcessors
-
register
Registers a post-processor. Implementations keep processors ordered byOrdered.getOrder().Delegates to
registerBeanPostProcessor(BeanPostProcessor), which keeps the registered processors ordered byOrdered.getOrder().- Specified by:
registerin interfaceBeanPostProcessorRegistry- Parameters:
beanPostProcessor- the post-processor to register, not null
-
getBeanPostProcessorRegistry
Returns this manager viewed as aBeanPostProcessorRegistry, so callers can contribute post-processors without depending on the rest of the manager's API.- Returns:
- the bean post-processor registry, never null
-
initializeBean
@NotNull public @NotNull Object initializeBean(@NotNull @NotNull BeanDefinition definition, @NotNull @NotNull Object rawInstance) -
resolveDependency
-
resolveDependency
-
resolveDependency
Resolves a dependency for the given injection point.This method first consults all registered custom injectors in order. If any injector handles the injection point, its result is returned. Otherwise, the default resolution using the bean registry is performed.
- Parameters:
injectionPoint- the injection point to resolve, not null- Returns:
- the resolved dependency, or null if not found
-
registerDependency
public <T> T registerDependency(@NotNull T instance, @Nullable @Nullable String qualifier, boolean primary) -
registerDependency
public <T> T registerDependency(@NotNull T instance, @Nullable @Nullable String qualifier, boolean primary, @Nullable @Nullable DependencyReloadCallback reloadCallback) -
registerDependency
-
registerDependency
public <T> T registerDependency(@NotNull @NotNull Class<T> clazz, @NotNull T instance, @Nullable @Nullable String qualifier, boolean primary, @Nullable @Nullable DependencyReloadCallback reloadCallback) -
registerDependency
public <T> T registerDependency(@NotNull @NotNull Class<T> dependencyClass, @Nullable @Nullable String qualifier, boolean primary, DependencyResolveResolver<T> resolver) -
registerDependency
public <T> T registerDependency(@NotNull @NotNull Class<T> dependencyClass, @Nullable @Nullable String qualifier, boolean primary, DependencyResolveResolver<T> resolver, @Nullable @Nullable DependencyReloadCallback reloadCallback) -
registerDependency
public <T> T registerDependency(@NotNull @NotNull Class<T> clazz, @NotNull @NotNull Class<? extends T> dependencyClass, @Nullable @Nullable String qualifier, boolean primary, @Nullable @Nullable DependencyResolveResolver<T> resolver) -
registerDependency
public <T> T registerDependency(@NotNull @NotNull Class<T> clazz, @NotNull @NotNull Class<? extends T> dependencyClass, @Nullable @Nullable String qualifier, boolean primary, @Nullable @Nullable DependencyResolveResolver<T> resolver, @Nullable @Nullable DependencyReloadCallback reloadCallback) -
registerDependency
-
registerDependency
public <T> BeanDefinition registerDependency(@NotNull @NotNull Class<T> clazz, @NotNull @NotNull Class<? extends T> dependencyClass, @Nullable T instance, @Nullable @Nullable String qualifier, boolean primary, @Nullable @Nullable DependencyResolveResolver<? extends T> resolver) -
registerDependency
public <T> BeanDefinition registerDependency(@NotNull @NotNull Class<T> clazz, @NotNull @NotNull Class<? extends T> dependencyClass, @Nullable T instance, @Nullable @Nullable String qualifier, boolean primary, @Nullable @Nullable DependencyResolveResolver<? extends T> resolver, @Nullable @Nullable DependencyReloadCallback reloadCallback) -
reloadDependencies
public void reloadDependencies() -
getInstancesByType
-
resolveFromDefinition
public <T> T resolveFromDefinition(@NotNull @NotNull Class<T> requestedType, @NotNull @NotNull BeanDefinition definition) throws Exception - Throws:
Exception
-
resolveArguments
-
resolveArguments
-
injectDependencies
-
injectDependencies
public <T> void injectDependencies(@NotNull T instance) -
findInjectConstructor
-
clear
public void clear()
-