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

  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 Details

  - ### 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