## Uses of Class
bdi4jade.core.Capability

- Packages that use Capability
  Package | Description
  --- | ---
  bdi4jade.belief | This package contains interfaces and classes that allows representation of beliefs of an agent, which are stored in belief bases, part of agent capabilities.
  bdi4jade.core |
  bdi4jade.extension.planselection.utilitybased |
  bdi4jade.plan | This package contains interfaces and classes that allows representation of plans of BDI agents.
  bdi4jade.reasoning | This package contains interfaces and classes to specify strategies associated with customization points of the BDI agent reasoning cycle.

- - ### Uses of Capability in bdi4jade.belief

    Methods in bdi4jade.belief that return Capability
    Modifier and Type | Method and Description
    --- | ---
    `Capability` | BeliefBase.`getCapability()` Returns the capability with which this belief base is associated.

    Methods in bdi4jade.belief with parameters of type Capability
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | BeliefBase.`setCapability(Capability capability)` Associates a capability with this belief base.

    Constructors in bdi4jade.belief with parameters of type Capability
    Constructor and Description
    `BeliefBase(Capability capability)` Creates a belief base associated with a capability.
    `BeliefBase(Capability capability, java.util.Set<Belief<?>> beliefs)` Creates a belief base associated with a capability and adds the beliefs in the provided belief set as the initial beliefs of this belief base.

  - ### Uses of Capability in bdi4jade.core

    Fields in bdi4jade.core declared as Capability
    Modifier and Type | Field and Description
    --- | ---
    `protected Capability` | Capability.`wholeCapability`

    Fields in bdi4jade.core with type parameters of type Capability
    Modifier and Type | Field and Description
    --- | ---
    `protected java.util.Set<Capability>` | Capability.`partCapabilities`

    Methods in bdi4jade.core that return Capability
    Modifier and Type | Method and Description
    --- | ---
    `Capability` | GoalUpdateSet.GoalDescription.`getDispatcher()`
    `Capability` | Intention.`getOwner()`
    `Capability` | Capability.`getWholeCapability()`

    Methods in bdi4jade.core that return types with arguments of type Capability
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Set<Capability>` | BDIAgent.`getAggregatedCapabilities()` Returns the root capability of this agent.
    `java.util.Collection<Capability>` | BDIAgent.`getAllCapabilities()`
    `java.util.Set<Capability>` | Capability.`getPartCapabilities()`

    Methods in bdi4jade.core with parameters of type Capability
    Modifier and Type | Method and Description
    --- | ---
    `void` | BDIAgent.`addCapability(Capability capability)` Adds a capability to this agent.
    `void` | BDIAgent.`addGoal(Capability dispatcher, Goal goal)` Adds a new goal to this agent to be achieved.
    `void` | BDIAgent.`addGoal(Capability dispatcher, Goal goal, GoalListener goalListener)` Adds a new goal to this agent to be achieved and adds a listener to observe its end.
    `void` | Capability.`addPartCapability(Capability partCapability)`
    `void` | GoalUpdateSet.`generateGoal(Goal goal, Capability dispatcher)`
    `boolean` | BDIAgent.`removeCapability(Capability capability)` Removes a capability from this agent.
    `boolean` | Capability.`removePartCapability(Capability partCapability)`

    Method parameters in bdi4jade.core with type arguments of type Capability
    Modifier and Type | Method and Description
    --- | ---
    `protected java.util.Set<GoalUpdateSet.GoalDescription>` | BDIAgent.`filter(java.util.Set<GoalUpdateSet.GoalDescription> agentGoals, java.util.Map<Capability,java.util.Set<GoalUpdateSet.GoalDescription>> capabilityGoals)` This method is responsible for selecting a set of goals that must be tried to be achieved (intentions) from the set of goals.
    `protected void` | BDIAgent.`generateGoals(GoalUpdateSet agentGoalUpdateSet, java.util.Map<Capability,GoalUpdateSet> capabilityGoalUpdateSets)` This method is responsible for generating new goals or dropping existing ones.
    `protected Plan` | BDIAgent.`selectPlan(Goal goal, java.util.Map<Capability,java.util.Set<Plan>> capabilityPlans)` This method is responsible for selecting plans to achieve a goals of this agent.

    Constructors in bdi4jade.core with parameters of type Capability
    Constructor and Description
    `BDIAgent(Capability capability)` Default constructor.
    `BDIAgent(Capability[] capabilities)` Default constructor.
    `Capability(java.lang.String id, Capability wholeCapability)` Creates a new capability.
    `Capability(java.lang.String id, Capability wholeCapability, java.util.Set<Belief<?>> initialBeliefs, java.util.Set<Plan> initialPlans)` Creates a new capability.
    `Intention(Goal goal, BDIAgent bdiAgent, Capability owner)` Creates a new intention.

    Constructor parameters in bdi4jade.core with type arguments of type Capability
    Constructor and Description
    `BDIAgent(java.util.Collection<Capability> capabilities)` Default constructor.

  - ### Uses of Capability in bdi4jade.extension.planselection.utilitybased

    Subclasses of Capability in bdi4jade.extension.planselection.utilitybased
    Modifier and Type | Class and Description
    --- | ---
    `class` | `UtilityBasedBDIAgent`

  - ### Uses of Capability in bdi4jade.plan

    Methods in bdi4jade.plan that return Capability
    Modifier and Type | Method and Description
    --- | ---
    `Capability` | PlanLibrary.`getCapability()` Returns the capability with which this plan library is associated.

    Constructors in bdi4jade.plan with parameters of type Capability
    Constructor and Description
    `PlanLibrary(Capability capability)` Creates a plan library associated with a capability.
    `PlanLibrary(Capability capability, java.util.Set<Plan> plans)` Creates a plan library base associated with a capability and adds the plans in the provided set.

  - ### Uses of Capability in bdi4jade.reasoning

    Fields in bdi4jade.reasoning declared as Capability
    Modifier and Type | Field and Description
    --- | ---
    `protected Capability` | AbstractReasoningStrategy.`capability`

    Methods in bdi4jade.reasoning with parameters of type Capability
    Modifier and Type | Method and Description
    --- | ---
    `void` | ReasoningStrategy.`setCapability(Capability capability)` Sets the capability with which this strategy is associated with.
    `void` | AbstractReasoningStrategy.`setCapability(Capability capability)`