Package tigase.kernel.beans.config

# Interface BeanConfigurator

All Known Implementing Classes:
  `AbstractBeanConfigurator`, `DSLBeanConfigurator`, `DSLBeanConfiguratorWithBackwardCompatibility`

public interface BeanConfigurator
Bean configurator.

Newly created beans should be configured: it means put specific values to fields, etc. Configurator no need to inject dependencies. This interface allows to create any kind of configurator for beans.

Note, that `BeanConfig` parameter is just internal metadata used to identify and keep dependencies, etc.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `DEFAULT_CONFIGURATOR_NAME`
  Name of default configurator.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `configurationChanged()`
  Notify bean configurator that configuration was changed and beans needs to be reconfigured
  `void`
  `configure(BeanConfig beanConfig, Object bean)`
  Configure bean.
  `void`
  `registerBeans(BeanConfig beanConfig, Object bean, Map<String,Object> valeus)`
  Looks for and registers beans which should be registered due to initialization of passed bean.

- ## Field Details

  - ### DEFAULT_CONFIGURATOR_NAME

    static final String DEFAULT_CONFIGURATOR_NAME
    Name of default configurator. It will be used by default during creating new beans by Kernel.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### configurationChanged

    void configurationChanged()
    Notify bean configurator that configuration was changed and beans needs to be reconfigured

  - ### configure

    void configure(BeanConfig beanConfig, Object bean)
    Configure bean.
    Parameters:
      `beanConfig` - internal bean configuration.
      `bean` - bean to configure.

  - ### registerBeans

    void registerBeans(BeanConfig beanConfig, Object bean, Map<String,Object> valeus)
    Looks for and registers beans which should be registered due to initialization of passed bean. List of beans to register may come from config (`values`), annotations, etc.
    Parameters:
      `beanConfig` - bean config of initializing bean
      `bean` - instance of initializing bean
      `valeus` - configuration for the initializing bean