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 TypeMethodDescriptionvoidMethod applies configuration changes to bean.voidconfigure(BeanConfig beanConfig, Object bean) Configure bean.voidMethod configures passed bean with provided values.getBeanClassesFromAnnotations(Kernel kernel, Class<?> requiredClass) Method looks for bean classes (classes annotated with@Beanwhich hasparentproperty 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 booleanbooleanprotected static booleanisBeanClassRegisteredInParentKernel(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 voidrefreshConfiguration(Kernel kernel) protected voidprotected voidvoidregisterBeans(BeanConfig beanConfig, Object bean, Map<String, Object> values) Method registers all beans which are annotated by@Beanand whichparentproperty is set to class which instance is passed.static voidregisterBeansForBeanOfClass(Kernel kernel, Class<?> cls) Method registers beans which classes are annotated with@Beanand haveparentset to the class passed as parameter.protected static voidregisterBeansForBeanOfClass(Kernel kernel, Class<?> requiredClass, Set<Class<?>> classes) registerBeansForBeanOfClassGetBeansToRegister(Kernel kernel, Class<?> requiredClass, Set<Class<?>> classes) protected static BeanregisterBeansForBeanOfClassShouldRegister(Kernel kernel, Class<?> requiredClass, Class<?> cls) voidrestoreDefaults(String beanName) Method restors default configuration of a beanvoidsetAccessToAllFields(boolean accessToAllFields) voidsetDefaultTypesConverter(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@Beanwhich hasparentproperty set to passed class.- Parameters:
kernel- instance of the KernelrequiredClass- class to look for asparentproperty value of@Beanannotation- 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@Beanand haveparentset 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:BeanConfiguratorConfigure bean.- Specified by:
configurein 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@Beanand whichparentproperty is set to class which instance is passed. Additionally this method registers beans which definitions are passed in the configuration.- Specified by:
registerBeansin 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:
configurationChangedin 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
-