Package tigase.kernel.beans

## Interface RegistrarBean

- All Known Subinterfaces:
    `RegistrarBeanWithDefaultBeanClass`
  All Known Implementing Classes:
    `AbstractKernelBasedComponent`, `AbstractSDComponentRepositoryBean`, `AmpComponent`, `AmpComponentClustered`, `AuthRepositoryMDImpl`, `AuthRepositoryMDPoolBean`, `AuthRepositoryMDPoolBean.AuthRepositoryConfigBean`, `AuthUserRepositoryConfigBean`, `BoshConnectionClustered`, `BoshConnectionManager`, `CertificateContainer`, `ClientConnectionClustered`, `ClientConnectionManager`, `ClientStateIndication`, `ClusterConnectionManager`, `ClusterConnectionManager.DefClConRepositoryBean`, `ComponentConnectionManager`, `ComponentProtocol`, `ComponentProtocolManager`, `ConnectionManager`, `ConnectionManager.PortsConfigBean`, `CounterDataLogger`, `CounterDataLoggerRepoBean`, `CounterDataLoggerRepoBean.CounterDataLoggerConfigBean`, `CredentialsDecoderBean`, `CredentialsEncoderBean`, `DataSourceBean`, `DataSourceBean.DataSourceMDConfigBean`, `DynamicRoster`, `EventBusComponent`, `EventBusComponent`, `ExternalServiceDiscoveryComponent`, `JabberIqPrivacy`, `JabberIqRegister`, `LastActivityMarker`, `MDPoolBean`, `MDPoolBeanWithStatistics`, `MDPoolConfigBean`, `MDRepositoryBean`, `MDRepositoryBean.MDRepositoryConfigBean`, `MDRepositoryBeanWithStatistics`, `MessageAmp`, `MessageRouter`, `MonitorComponent`, `MsgBroadcastRepository.MsgBroadcastRepositoryBean`, `MsgBroadcastRepository.MsgBroadcastRepositoryBean.MsgBroadcastRepositoryConfigBean`, `MsgRepository.MsgRepositoryMDBean`, `MsgRepository.MsgRepositoryMDBean.MsgRepositoryConfigBean`, `PacketFiltersBean`, `PacketFiltersBean.IncomingPacketFiltersBean`, `PacketFiltersBean.OutgoingPacketFiltersBean`, `PushNotifications`, `S2SConnectionManager`, `SDRepositoryBean`, `SDRepositoryBeanWithStatistics`, `SeeOtherHostDB`, `SeeOtherHostDB.SeeOtherHostDBSDRepositoryBean`, `SeeOtherHostDualIP`, `SeeOtherHostDualIP.DualIPRepositoryWrapper`, `SeeOtherHostDualIP.DualIPRepositoryWrapper.DualIPRepositoryWrapperConfigBean`, `SessionManager`, `SessionManagerClustered`, `StatisticsCollector`, `TestComponent`, `TigaseSaslProvider`, `UserRepositoryMDImpl`, `UserRepositoryMDPoolBean`, `UserRepositoryMDPoolBean.UserRepositoryConfigBean`, `VHostManager`, `VHostManager.DefVHostRepositoryBean`, `WebSocketClientConnectionClustered`, `WebSocketClientConnectionManager`

      public interface RegistrarBean

  Interface which needs to be implemented by bean classes which are also Registrars.
  Normal implementations of Registrars cannot be same class as bean inside newly created kernel - with `RegistrarBean` it is possible.
  Created by andrzej on 05.03.2016.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `register​(Kernel kernel)` | Method called when bean is being registered allowing developer to programatically register other beans.
    `void` | `unregister​(Kernel kernel)` | Method called while bean is being unregistered.

- - ### Method Detail

    - #### register

          void register​(Kernel kernel)

      Method called when bean is being registered allowing developer to programatically register other beans.
      Parameters:
        `kernel` - - instance from local scope

    - #### unregister

          void unregister​(Kernel kernel)

      Method called while bean is being unregistered.
      Parameters:
        `kernel` - - instance from local scope