madkit.kernel

## Interface Gatekeeper

-     public interface Gatekeeper

  This interface is implemented by objects which are used to verify if an agent is allowed to play a certain role in a group. Objects implementing this interface could be used when creating a Group to secure it.
  Since:
    MaDKit 3.0
  Version:
    2.0
  Author:
    Fabien Michel

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `allowAgentToTakeRole(java.lang.String agentNetworkID, java.lang.String roleName, java.lang.Object memberCard)`

- - ### Method Detail

    - #### allowAgentToTakeRole

          boolean allowAgentToTakeRole(java.lang.String agentNetworkID,
                                       java.lang.String roleName,
                                       java.lang.Object memberCard)

      Parameters:
        `agentNetworkID` - a string identifying uniquely an agent, even over multiple connected kernels
        `roleName` - the role the agent wants to play
        `memberCard` - the access card provided by the agent
      Returns:
        `true` if the agent should be allowed to play this role in the group, or `false` otherwise associated with this `Gatekeeper`

Fabien Michel, Olivier Gutknecht, Jacques Ferber - September 9 2019