Class AbstractBeanConfigurator

    • Constructor Detail

      • AbstractBeanConfigurator

        public AbstractBeanConfigurator()
    • Method Detail

      • getBeanClassesFromAnnotations

        public static Map<String,​Class<?>> getBeanClassesFromAnnotations​(Kernel kernel,
                                                                               Class<?> requiredClass)
        Method looks for bean classes (classes annotated with @Bean which has parent property set to passed class.
        Parameters:
        kernel - instance of the Kernel
        requiredClass - class to look for as parent 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 check
        name - name of the bean
        clazz - expected class of the bean
        Returns:
      • registerBeansForBeanOfClass

        public static void registerBeansForBeanOfClass​(Kernel kernel,
                                                       Class<?> cls)
        Method registers beans which classes are annotated with @Bean and have parent set to the class passed as parameter.
        Parameters:
        kernel -
        cls -
      • registerBeansForBeanOfClass

        protected static void registerBeansForBeanOfClass​(Kernel kernel,
                                                          Class<?> requiredClass,
                                                          Set<Class<?>> classes)
      • registerBeansForBeanOfClassGetBeansToRegister

        protected static List<Class<?>> registerBeansForBeanOfClassGetBeansToRegister​(Kernel kernel,
                                                                                      Class<?> requiredClass,
                                                                                      Set<Class<?>> classes)
      • registerBeansForBeanOfClassShouldRegister

        protected static Bean registerBeansForBeanOfClassShouldRegister​(Kernel kernel,
                                                                        Class<?> requiredClass,
                                                                        Class<?> cls)
      • getProperties

        public abstract Map<String,​Object> getProperties()
        Method returns current configuration map.
        Returns:
      • configure

        public void configure​(BeanConfig beanConfig,
                              Object bean,
                              Map<String,​Object> values)
        Method configures passed bean with provided values.
        Parameters:
        beanConfig -
        bean -
        values -
      • getDefaultTypesConverter

        public TypesConverter getDefaultTypesConverter()
        Method returns default types converter used by bean configurator.
        Returns:
      • setDefaultTypesConverter

        public void setDefaultTypesConverter​(TypesConverter defaultTypesConverter)
      • getKernel

        public Kernel getKernel()
      • setKernel

        public void setKernel​(Kernel kernel)
      • isAccessToAllFields

        public boolean isAccessToAllFields()
      • setAccessToAllFields

        public void setAccessToAllFields​(boolean accessToAllFields)
      • registerBeans

        public void registerBeans​(BeanConfig beanConfig,
                                  Object bean,
                                  Map<String,​Object> values)
        Method registers all beans which are annotated by @Bean and which parent 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 interface BeanConfigurator
        Parameters:
        beanConfig - bean config of initializing bean
        bean - instance of initializing bean
        values - 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 interface BeanConfigurator
      • restoreDefaults

        public void restoreDefaults​(String beanName)
        Method restors default configuration of a bean
        Parameters:
        beanName -
      • getConfiguration

        protected abstract Map<String,​Object> getConfiguration​(BeanConfig beanConfig)
        Method returns configuration of a bean.
        Parameters:
        beanConfig -
        Returns:
      • getBeanConfigPath

        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).
        Parameters:
        beanConfig -
        Returns:
      • hasDirectConfiguration

        protected abstract boolean hasDirectConfiguration​(BeanConfig bc)
      • refreshConfiguration

        protected void refreshConfiguration​(Kernel kernel)
      • refreshConfiguration_removeUndefinedBeans

        protected void refreshConfiguration_removeUndefinedBeans​(Kernel kernel)
      • refreshConfiguration_updateConfiguration

        protected void refreshConfiguration_updateConfiguration​(Kernel kernel)