## Uses of Interface
bdi4jade.core.MetadataElement

- Packages that use MetadataElement
  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.goal | This package contains interfaces and classes that allows representation of goals and softgoals of an agent.
  bdi4jade.plan | This package contains interfaces and classes that allows representation of plans of BDI agents.

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

    Subinterfaces of MetadataElement in bdi4jade.belief
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `Belief<T>` This interface represents a belief of the belief base.
    `interface` | `BeliefSet<T>` This interface represents a belief that has a set of values associated with it.

    Classes in bdi4jade.belief that implement MetadataElement
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractBelief<T>` This is an abstract class that implements the `Belief` interface.
    `class` | `AbstractBeliefSet<T>` This is an abstract class that implements the `BeliefSet` interface, and extends the `AbstractBeliefSet` class, parameterizing it with a parameterized `Set`.
    `class` | `PersistentBelief<T>` This class extends the `Belief` and represents a persistent belief, which is persisted in a permanent memory.
    `class` | `TransientBelief<T>` This class extends the `AbstractBelief` class and represents a transient belief, which is not persisted in a permanent memory.
    `class` | `TransientBeliefSet<T>` This class extends the `AbstractBeliefSet` class and implements `BeliefSet` interface, representing a transient belief set, which is not persisted in a permanent memory.

  - ### Uses of MetadataElement in bdi4jade.core

    Classes in bdi4jade.core that implement MetadataElement
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MetadataElementImpl`

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

    Classes in bdi4jade.extension.planselection.utilitybased that implement MetadataElement
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SoftgoalPreferences` This is an agent transient belief (@see `TransientBelief`) that stores the preferences for softgoals.

  - ### Uses of MetadataElement in bdi4jade.goal

    Classes in bdi4jade.goal that implement MetadataElement
    Modifier and Type | Class and Description
    --- | ---
    `class` | `NamedSoftgoal` This class provides a default implementation for a softgoal, representing it just with a given name.

  - ### Uses of MetadataElement in bdi4jade.plan

    Subinterfaces of MetadataElement in bdi4jade.plan
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `Plan` This interfaces represents the plan abstraction.

    Classes in bdi4jade.plan that implement MetadataElement
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractPlan` This class represents the plan abstraction, being an abstract implementation of the `Plan` interface.
    `class` | `DefaultPlan` This class represents a plan whose plan body is a class that can be instantiated by invoking the `Class.newInstance()` method.