# Interface MembershipProvider

All Known Implementing Classes:
  `CloudMembershipProvider, DNSMembershipProvider, KubernetesMembershipProvider, McastServiceImpl, MembershipProviderBase, StaticMembershipProvider`

public interface MembershipProvider
Interface for membership providers.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Member`
  `getMember(Member mbr)`
  Get the specified member from the associated membership.
  `Member[]`
  `getMembers()`
  Get the members from the associated membership.
  `boolean`
  `hasMembers()`
  Checks whether the membership contains any members.
  `void`
  `init(Properties properties)`
  Initialize the membership provider with the specified configuration.
  `void`
  `setMembershipListener(MembershipListener listener)`
  Set the associated membership listener.
  `void`
  `setMembershipService(MembershipService service)`
  Set the associated membership service.
  `void`
  `start(int level)`
  Start the membership provider.
  `boolean`
  `stop(int level)`
  Stop the membership provider.

- ## Method Details

  - ### init

    void init(Properties properties) throws Exception
    Initialize the membership provider with the specified configuration.
    Parameters:
      `properties` - configuration
    Throws:
      `Exception` - if an error occurs

  - ### start

    void start(int level) throws Exception
    Start the membership provider.
    Parameters:
      `level` - the readiness level
      - Channel.DEFAULT - will start all services
      - Channel.MBR_RX_SEQ - starts the membership receiver
      - Channel.MBR_TX_SEQ - starts the membership broadcaster
    Throws:
      `Exception` - if an error occurs

  - ### stop

    boolean stop(int level) throws Exception
    Stop the membership provider.
    Parameters:
      `level` - the readiness level
      - Channel.DEFAULT - will stop all services
      - Channel.MBR_RX_SEQ - stops the membership receiver
      - Channel.MBR_TX_SEQ - stops the membership broadcaster
    Returns:
      `true` if successful
    Throws:
      `Exception` - if an error occurs

  - ### setMembershipListener

    void setMembershipListener(MembershipListener listener)
    Set the associated membership listener.
    Parameters:
      `listener` - the listener

  - ### setMembershipService

    void setMembershipService(MembershipService service)
    Set the associated membership service.
    Parameters:
      `service` - the service

  - ### hasMembers

    boolean hasMembers()
    Checks whether the membership contains any members.
    Returns:
      `true` if there are members

  - ### getMember

    Member getMember(Member mbr)
    Get the specified member from the associated membership.
    Parameters:
      `mbr` - the member
    Returns:
      the member

  - ### getMembers

    Member[] getMembers()
    Get the members from the associated membership.
    Returns:
      the members