## Uses of Class
tigase.kernel.core.BeanConfig

- Packages that use BeanConfig
  Package | Description
  --- | ---
  tigase.component |
  tigase.db.util |
  tigase.kernel |
  tigase.kernel.beans.config |
  tigase.kernel.core |

- - ### Uses of BeanConfig in tigase.component

    Methods in tigase.component with parameters of type BeanConfig
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | DSLBeanConfiguratorWithBackwardCompatibility.`configure​(BeanConfig beanConfig, java.lang.Object bean, java.util.Map<java.lang.String,​java.lang.Object> values)` |
    `protected java.util.Map<java.lang.String,​java.lang.Object>` | DSLBeanConfigurator.`getBeanConfigurationProperties​(BeanConfig beanConfig, java.util.Map<java.lang.String,​java.lang.String> aliasesToFields)` |
    `java.util.Map<java.lang.String,​java.lang.Object>` | DSLBeanConfiguratorWithBackwardCompatibility.`getBeanConfigurationProperties​(BeanConfig beanConfig)` |
    `java.util.Map<java.lang.String,​java.lang.Object>` | DSLBeanConfigurator.`getConfiguration​(BeanConfig beanConfig)` |
    `protected java.util.Map<java.lang.String,​java.lang.String>` | DSLBeanConfigurator.`getFieldAliasses​(BeanConfig beanConfig)` |
    `protected boolean` | DSLBeanConfigurator.`hasDirectConfiguration​(BeanConfig beanConfig)` |

  - ### Uses of BeanConfig in tigase.db.util

    Constructors in tigase.db.util with parameters of type BeanConfig
    Constructor | Description
    --- | ---
    `RepoInfo​(BeanConfig beanConfig, SchemaManager.DataSourceInfo dataSource, java.lang.Class<?> implementation)` |

  - ### Uses of BeanConfig in tigase.kernel

    Methods in tigase.kernel with parameters of type BeanConfig
    Modifier and Type | Method | Description
    --- | --- | ---
    `static java.lang.reflect.Field` | BeanUtils.`getField​(BeanConfig bc, java.lang.String fieldName)` |

  - ### Uses of BeanConfig in tigase.kernel.beans.config

    Methods in tigase.kernel.beans.config with parameters of type BeanConfig
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | AbstractBeanConfigurator.`configure​(BeanConfig beanConfig, java.lang.Object bean)` |
    `void` | AbstractBeanConfigurator.`configure​(BeanConfig beanConfig, java.lang.Object bean, java.util.Map<java.lang.String,​java.lang.Object> values)` | Method configures passed bean with provided values.
    `void` | BeanConfigurator.`configure​(BeanConfig beanConfig, java.lang.Object bean)` | Configure bean.
    `protected java.util.ArrayDeque<java.lang.String>` | AbstractBeanConfigurator.`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 abstract java.util.Map<java.lang.String,​java.lang.Object>` | AbstractBeanConfigurator.`getConfiguration​(BeanConfig beanConfig)` | Method returns configuration of a bean.
    `protected java.util.Map<java.lang.reflect.Field,​java.lang.Object>` | AbstractBeanConfigurator.`grabDefaultConfig​(BeanConfig beanConfig, java.lang.Object bean)` |
    `protected abstract boolean` | AbstractBeanConfigurator.`hasDirectConfiguration​(BeanConfig bc)` |
    `void` | AbstractBeanConfigurator.`registerBeans​(BeanConfig beanConfig, java.lang.Object bean, java.util.Map<java.lang.String,​java.lang.Object> values)` | Method registers all beans which are annotated by `@Bean` and which `parent` property is set to class which instance is passed.
    `void` | BeanConfigurator.`registerBeans​(BeanConfig beanConfig, java.lang.Object bean, java.util.Map<java.lang.String,​java.lang.Object> valeus)` | Looks for and registers beans which should be registered due to initialization of passed bean.

  - ### Uses of BeanConfig in tigase.kernel.core

    Subclasses of BeanConfig in tigase.kernel.core
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `Kernel.DelegatedBeanConfig` | Class used for delegating beans from one kernel to the other kernel.

    Methods in tigase.kernel.core that return BeanConfig
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected BeanConfig` | DependencyManager.`createBeanConfig​(Kernel kernel, java.lang.String beanName, java.lang.Class<?> beanClass)` |
    `BeanConfig` | BeanConfigBuilder.`execWithoutInject()` |
    `BeanConfig` | Dependency.`getBeanConfig()` | Returns definition of bean.
    `BeanConfig` | DependencyManager.`getBeanConfig​(java.lang.String beanName)` |
    `BeanConfig[]` | DependencyManager.`getBeanConfig​(Dependency dependency)` |
    `BeanConfig` | BeanConfig.`getFactory()` | Return factory of bean.
    `BeanConfig` | Kernel.DelegatedBeanConfig.`getFactory()` |
    `BeanConfig` | Kernel.DelegatedBeanConfig.`getOriginal()` |
    `protected BeanConfig` | Kernel.`registerBean​(BeanConfig beanConfig, BeanConfig factoryBeanConfig, java.lang.Object beanInstance)` |
    `BeanConfig` | DependencyManager.`unregister​(java.lang.String beanName)` |

    Methods in tigase.kernel.core that return types with arguments of type BeanConfig
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.util.Collection<BeanConfig>` | DependencyManager.`getBeanConfigs()` |
    `java.util.List<BeanConfig>` | DependencyManager.`getBeanConfigs​(java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.Class<?> ownerClass)` |
    `java.util.List<BeanConfig>` | DependencyManager.`getBeanConfigs​(java.lang.Class<?> type, java.lang.reflect.Type genericType, java.lang.Class<?> ownerClass, boolean allowNonExportable)` |
    `java.util.HashSet<BeanConfig>` | DependencyManager.`getDependentBeans​(BeanConfig beanConfig)` |
    `java.util.Set<BeanConfig>` | BeanConfig.`getRegisteredBeans()` | List of beans registered by registration of this bean - related to `Bean::parent`.
    `java.util.Set<BeanConfig>` | BeanConfig.`getRegisteredBy()` | Set of beans which caused registration of this bean - related to `Bean::parent`.

    Methods in tigase.kernel.core with parameters of type BeanConfig
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | BeanConfig.`addRegisteredBean​(BeanConfig beanConfig)` |
    `void` | BeanConfig.`addRegisteredBy​(BeanConfig beanConfig)` |
    `java.util.Collection<Dependency>` | DependencyManager.`getDependenciesTo​(BeanConfig destination)` |
    `java.util.HashSet<BeanConfig>` | DependencyManager.`getDependentBeans​(BeanConfig beanConfig)` |
    `protected void` | Kernel.`initBean​(BeanConfig tmpBC, java.util.Set<BeanConfig> createdBeansConfig, int deep)` |
    `protected void` | Kernel.`injectIfRequired​(BeanConfig beanConfig)` |
    `static boolean` | DependencyManager.`match​(Dependency dependency, BeanConfig beanConfig)` |
    `protected void` | DependencyManager.`prepareDependencies​(BeanConfig beanConfig)` |
    `protected BeanConfig` | Kernel.`registerBean​(BeanConfig beanConfig, BeanConfig factoryBeanConfig, java.lang.Object beanInstance)` |
    `BeanConfigBuilder` | BeanConfigBuilder.`registeredBy​(BeanConfig parent)` |
    `void` | BeanConfig.`removeRegisteredBean​(BeanConfig beanConfig)` |
    `boolean` | BeanConfig.`removeRegisteredBy​(BeanConfig beanConfig)` |

    Method parameters in tigase.kernel.core with type arguments of type BeanConfig
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T> T` | Kernel.`getInstanceIfExistsOr​(java.lang.String beanName, java.util.function.Function<BeanConfig,​T> function)` | Returns instance of bean if instance exists already or calls passed function.
    `protected void` | Kernel.`initBean​(BeanConfig tmpBC, java.util.Set<BeanConfig> createdBeansConfig, int deep)` |
    `void` | Kernel.`shutdown​(java.util.Comparator<BeanConfig> shutdownOrder)` | Shutdown kernel with passed comparator to define order in which bean will be stopped.

    Constructors in tigase.kernel.core with parameters of type BeanConfig
    Constructor | Description
    --- | ---
    `Dependency​(BeanConfig beanConfig)` | Creates instance of class.