Package tigase.kernel.beans.config
Class AbstractBeanConfigurator
java.lang.Object
tigase.kernel.beans.config.AbstractBeanConfigurator
- All Implemented Interfaces:
BeanConfigurator
- Direct Known Subclasses:
DSLBeanConfigurator
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsFields inherited from interface tigase.kernel.beans.config.BeanConfigurator
DEFAULT_CONFIGURATOR_NAME
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Method applies configuration changes to bean.void
configure
(BeanConfig beanConfig, Object bean) Configure bean.void
Method configures passed bean with provided values.getBeanClassesFromAnnotations
(Kernel kernel, Class<?> requiredClass) Method looks for bean classes (classes annotated with@Bean
which hasparent
property set to passed class.protected ArrayDeque<String>
getBeanConfigPath
(BeanConfig beanConfig) Method returns queue of kernel and bean names to find bean config (path to the bean config from root of the config).protected Map<String,
AbstractBeanConfigurator.BeanDefinition> getBeanDefinitions
(Map<String, Object> values) Method returns map of bean definitions found in the configurationgetConfiguration
(BeanConfig beanConfig) Method returns configuration of a bean.Method returns default types converter used by bean configurator.Method returns current configuration map.grabCurrentConfig
(Object bean, String beanName) grabDefaultConfig
(BeanConfig beanConfig, Object bean) protected abstract boolean
boolean
protected static boolean
isBeanClassRegisteredInParentKernel
(Kernel kernel, String name, Class<?> clazz) Method checkes if bean is already registered in parent kernel.protected static Map<String,
AbstractBeanConfigurator.BeanDefinition> mergeWithBeansPropertyValue
(Map<String, AbstractBeanConfigurator.BeanDefinition> beanPropConfigMap, Map<String, Object> values) protected void
refreshConfiguration
(Kernel kernel) protected void
protected void
void
registerBeans
(BeanConfig beanConfig, Object bean, Map<String, Object> values) Method registers all beans which are annotated by@Bean
and whichparent
property is set to class which instance is passed.static void
registerBeansForBeanOfClass
(Kernel kernel, Class<?> cls) Method registers beans which classes are annotated with@Bean
and haveparent
set to the class passed as parameter.protected static void
registerBeansForBeanOfClass
(Kernel kernel, Class<?> requiredClass, Set<Class<?>> classes) registerBeansForBeanOfClassGetBeansToRegister
(Kernel kernel, Class<?> requiredClass, Set<Class<?>> classes) protected static Bean
registerBeansForBeanOfClassShouldRegister
(Kernel kernel, Class<?> requiredClass, Class<?> cls) void
restoreDefaults
(String beanName) Method restors default configuration of a beanvoid
setAccessToAllFields
(boolean accessToAllFields) void
setDefaultTypesConverter
(TypesConverter defaultTypesConverter) void
-
Field Details
-
defaultTypesConverter
-
kernel
-
-
Constructor Details
-
AbstractBeanConfigurator
public AbstractBeanConfigurator()
-
-
Method Details
-
getBeanClassesFromAnnotations
public static Map<String,Class<?>> getBeanClassesFromAnnotations(Kernel kernel, Class<?> requiredClass) Method looks for bean classes (classes annotated with@Bean
which hasparent
property set to passed class.- Parameters:
kernel
- instance of the KernelrequiredClass
- class to look for asparent
property value of@Bean
annotation- Returns:
- map of bean classes in for of "bean name" - "class"
-
isBeanClassRegisteredInParentKernel
protected static boolean isBeanClassRegisteredInParentKernel(Kernel kernel, String name, Class<?> clazz) Method checkes if bean is already registered in parent kernel.- Parameters:
kernel
- kernel instance to checkname
- name of the beanclazz
- expected class of the bean
-
mergeWithBeansPropertyValue
protected static Map<String,AbstractBeanConfigurator.BeanDefinition> mergeWithBeansPropertyValue(Map<String, AbstractBeanConfigurator.BeanDefinition> beanPropConfigMap, Map<String, Object> values) -
registerBeansForBeanOfClass
Method registers beans which classes are annotated with@Bean
and haveparent
set to the class passed as parameter. -
registerBeansForBeanOfClass
-
registerBeansForBeanOfClassGetBeansToRegister
-
registerBeansForBeanOfClassShouldRegister
-
getProperties
Method returns current configuration map. -
configure
Method configures passed bean with provided values. -
configure
Description copied from interface:BeanConfigurator
Configure bean.- Specified by:
configure
in interfaceBeanConfigurator
- Parameters:
beanConfig
- internal bean configuration.bean
- bean to configure.- Throws:
KernelException
-
getDefaultTypesConverter
Method returns default types converter used by bean configurator. -
setDefaultTypesConverter
-
getKernel
-
setKernel
-
isAccessToAllFields
public boolean isAccessToAllFields() -
setAccessToAllFields
public void setAccessToAllFields(boolean accessToAllFields) -
registerBeans
Method registers all beans which are annotated by@Bean
and whichparent
property is set to class which instance is passed. Additionally this method registers beans which definitions are passed in the configuration.- Specified by:
registerBeans
in interfaceBeanConfigurator
- Parameters:
beanConfig
- bean config of initializing beanbean
- instance of initializing beanvalues
- configuration of a bean
-
configurationChanged
public void configurationChanged()Method applies configuration changes to bean. Should be called after configuration is updated.- Specified by:
configurationChanged
in interfaceBeanConfigurator
-
restoreDefaults
Method restors default configuration of a bean -
getConfiguration
Method returns configuration of a bean. -
grabDefaultConfig
-
grabCurrentConfig
-
getBeanDefinitions
protected Map<String,AbstractBeanConfigurator.BeanDefinition> getBeanDefinitions(Map<String, Object> values) Method returns map of bean definitions found in the configuration- Parameters:
values
- configuration map
-
getBeanConfigPath
Method returns queue of kernel and bean names to find bean config (path to the bean config from root of the config). -
hasDirectConfiguration
-
refreshConfiguration
-
refreshConfiguration_removeUndefinedBeans
-
refreshConfiguration_updateConfiguration
-