## 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 | This package contains the key classes of BDI4JADE.
  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<K,V>` This interface represents a belief of the belief base.
    `interface` | `BeliefSet<K,V>` This interface represents a belief that has a set of values associated with it.
    `interface` | `Predicate<K>` This interface represents a belief that is a logic predicate.

    Classes in bdi4jade.belief that implement MetadataElement
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractBelief<K,V>` This is an abstract class that implements the `Belief` interface.
    `class` | `AbstractBeliefSet<K,V>` This is an abstract class that implements the `BeliefSet` interface, and extends the `AbstractBeliefSet` class, parameterizing it with a parameterized `Set`.
    `class` | `DerivedBelief<K,V>` This class represents a belief whose value is derived from other beliefs of a belief base.
    `class` | `DerivedPredicate<K>` This class represents a logic predicate that is derived from other agent belief.
    `class` | `PersistentBelief<K,V>` This class extends the `AbstractBelief` and represents a persistent belief, which is persisted in a permanent memory.
    `class` | `TransientBelief<K,V>` This class extends the `AbstractBelief` class and represents a transient belief, which is not persisted in a permanent memory.
    `class` | `TransientBeliefSet<K,V>` This class extends the `AbstractBeliefSet` class and implements `BeliefSet` interface, representing a transient belief set, which is not persisted in a permanent memory.
    `class` | `TransientPredicate<K>` This class extends the `TransientBelief` class and represents a transient propositional belief, 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` This class provides an implementation to the `MetadataElement`.

  - ### 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.