## Uses of Interface
bdi4jade.core.BDIAgent

- Packages that use BDIAgent
  Package | Description
  --- | ---
  bdi4jade.core | This package contains the key classes of BDI4JADE.
  bdi4jade.message | This package contains interfaces and classes that allows processing messages received by BDI agents and creating goals to process them.
  bdi4jade.reasoning | This package contains interfaces and classes to specify strategies associated with customization points of the BDI agent reasoning cycle.

- - ### Uses of BDIAgent in bdi4jade.core

    Classes in bdi4jade.core that implement BDIAgent
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractBDIAgent` This class is an abstract implementation of the `BDIAgent` interface.
    `class` | `MultipleCapabilityAgent` This class is a BDIAgent that has multiple aggregated capabilities.
    `class` | `SingleCapabilityAgent` This class is a BDIAgent that has a single capability.

    Methods in bdi4jade.core that return BDIAgent
    Modifier and Type | Method and Description
    --- | ---
    `BDIAgent` | Capability.`getMyAgent()` Returns the agent that this capability is associated with.

  - ### Uses of BDIAgent in bdi4jade.message

    Constructors in bdi4jade.message with parameters of type BDIAgent
    Constructor and Description
    `BDIAgentMsgReceiver(BDIAgent agent)` Initializes this message receiver, which is associated with a BDI agent.

  - ### Uses of BDIAgent in bdi4jade.reasoning

    Fields in bdi4jade.reasoning declared as BDIAgent
    Modifier and Type | Field and Description
    --- | ---
    `protected BDIAgent` | AbstractAgentReasoningStrategy.`agent`

    Methods in bdi4jade.reasoning with parameters of type BDIAgent
    Modifier and Type | Method and Description
    --- | ---
    `void` | AgentReasoningStrategy.`setAgent(BDIAgent agent)` Sets the agent with which this strategy is associated with.
    `void` | AbstractAgentReasoningStrategy.`setAgent(BDIAgent agent)`