Class MCapability

java.lang.Object
jadex.bdi.model.MElement
jadex.bdi.model.MCapability

public class MCapability extends MElement
The capability model.
  • Field Details

    • beliefs

      protected List<MBelief> beliefs
      The beliefs.
    • goals

      protected List<MGoal> goals
      The goals.
    • plans

      protected List<MPlan> plans
      The plans.
    • messages

      protected List<MMessageEvent> messages
      The message events.
    • services

      protected List<MServiceCall> services
      The services.
    • expressions

      protected List<jadex.common.UnparsedExpression> expressions
      The expressions.
    • configurations

      protected List<MConfiguration> configurations
      The configurations.
    • beliefreferences

      protected Map<String,String> beliefreferences
      The belief mappings (abstract/reference name -> concrete belief name).
    • resultmappings

      protected Map<String,String> resultmappings
      The result mappings invalid input: '<'belief->result>.
    • goalreferences

      protected Map<String,String> goalreferences
      The goal mappings (abstract/reference name -> concrete name).
    • eventreferences

      protected Map<String,String> eventreferences
      The event mappings (abstract/reference name -> concrete name).
    • expressionreferences

      protected Map<String,String> expressionreferences
      The expression mappings (abstract/reference name -> concrete name).
    • subcapabilities

      protected List<MCapabilityReference> subcapabilities
      The subcapabilities.
    • ievents

      protected List<MInternalEvent> ievents
      The internal events.
    • pubs

      protected Map<jadex.common.ClassInfo,List<jadex.common.Tuple2<MGoal,String>>> pubs
      The goal/service publications.
    • conditions

      protected List<MCondition> conditions
      The expressions.
  • Constructor Details

    • MCapability

      public MCapability()
      Bean Constructor.
    • MCapability

      public MCapability(String name)
      Create a capability.
  • Method Details

    • getBeliefs

      public List<MBelief> getBeliefs()
      Get the beliefs.
      Returns:
      The beliefs.
    • setBeliefs

      public void setBeliefs(List<MBelief> beliefs)
      Set the beliefs.
      Parameters:
      beliefs - The beliefs to set.
    • addBelief

      public void addBelief(MBelief belief)
      Add a belief.
    • removeBelief

      public void removeBelief(MBelief belief)
      Remove a belief.
    • hasBelief

      public boolean hasBelief(String name)
      Test if a belief is contained.
    • hasBeliefIgnoreCase

      public String hasBeliefIgnoreCase(String name)
      Test if a belief is contained.
      Parameters:
      name - The name.
      Returns:
      The correctly spelled belief name or null.
    • getBelief

      public MBelief getBelief(String name)
      Get a belief.
    • getGoals

      public List<MGoal> getGoals()
      Get the goals.
      Returns:
      The goals.
    • setGoals

      public void setGoals(List<MGoal> goals)
      Set the goals.
      Parameters:
      goals - The goals to set.
    • addGoal

      public void addGoal(MGoal goal)
      Add a goal.
    • getGoal

      public MGoal getGoal(String name)
      Get the goal for its name.
      Returns:
      The goal.
    • getPlans

      public List<MPlan> getPlans()
      Get the plans.
      Returns:
      The plans.
    • setPlans

      public void setPlans(List<MPlan> plans)
      Set the plans.
      Parameters:
      plans - The plans to set.
    • addPlan

      public void addPlan(MPlan plan)
      Add a plan.
    • getPlan

      public MPlan getPlan(String name)
      Get the plan for its name.
      Returns:
      The plan.
    • sortPlans

      public void sortPlans(Map<String,Integer> order, ClassLoader cl)
      Sorts plans according to their line numbers in the source to guarantee their natural declaration order.
    • getInternalEvents

      public List<MInternalEvent> getInternalEvents()
      Get the Internals.
      Returns:
      The Internals.
    • setInternalEvents

      public void setInternalEvents(List<MInternalEvent> ievents)
      Set the internal events.
      Parameters:
      ievents - The internal events to set.
    • addInternalEvent

      public void addInternalEvent(MInternalEvent event)
      Add an internal event.
    • hasInternalEvent

      public boolean hasInternalEvent(String name)
      Test if an internal event is contained.
    • getInternalEvent

      public MInternalEvent getInternalEvent(String name)
      Get an internal event.
    • getMessageEvents

      public List<MMessageEvent> getMessageEvents()
      Get the messages.
      Returns:
      The messages.
    • setMessageEvents

      public void setMessageEvents(List<MMessageEvent> messages)
      Set the messages.
      Parameters:
      messages - The messages to set.
    • addMessageEvent

      public void addMessageEvent(MMessageEvent message)
      Add a message.
    • hasMessageEvent

      public boolean hasMessageEvent(String name)
      Test if a message is contained.
    • getMessageEvent

      public MMessageEvent getMessageEvent(String name)
      Get a message event. Null if not found.
    • getResolvedGoal

      public MGoal getResolvedGoal(String scope, String name)
      Get a goal by resolved name. Exception if not found. This method is meant handles calls from user code (e.g. createXYZ() in a plan). Internally, all references should be mapped to the correct concrete elements already during loading (e.g. config elements).
      Parameters:
      scope - The local scope.
      name - The name, relative to scope.
    • getResolvedInternalEvent

      public MInternalEvent getResolvedInternalEvent(String scope, String name)
      Get an internal event by resolved name. Exception if not found. This method is meant handles calls from user code (e.g. createXYZ() in a plan). Internally, all references should be mapped to the correct concrete elements already during loading (e.g. config elements).
      Parameters:
      scope - The local scope.
      name - The name, relative to scope.
    • getResolvedMessageEvent

      public MMessageEvent getResolvedMessageEvent(String scope, String name)
      Get a message event by resolved name. Exception if not found. This method is meant handles calls from user code (e.g. createXYZ() in a plan). Internally, all references should be mapped to the correct concrete elements already during loading (e.g. config elements).
      Parameters:
      scope - The local scope.
      name - The name, relative to scope.
    • getConfigurations

      public List<MConfiguration> getConfigurations()
      Get the configurations.
      Returns:
      The configurations.
    • setConfigurations

      public void setConfigurations(List<MConfiguration> configurations)
      Set the configurations.
      Parameters:
      configurations - The configurations to set.
    • addConfiguration

      public void addConfiguration(MConfiguration config)
      Add a configuration.
    • getConfiguration

      public MConfiguration getConfiguration(String name)
      Get the configurations.
      Returns:
      The configurations.
    • getServices

      public List<MServiceCall> getServices()
      Get the services.
      Returns:
      The services.
    • setServices

      public void setServices(List<MServiceCall> services)
      Set the services.
      Parameters:
      services - The services to set.
    • getService

      public MServiceCall getService(String name)
      Get the plan for its name.
      Returns:
      The plan.
    • addservice

      public void addservice(MServiceCall ser)
      Add a service.
    • getCapabilities

      public List<MCapabilityReference> getCapabilities()
      Get the sub capabilities.
      Returns:
      The sub capabilities.
    • setCapabilities

      public void setCapabilities(List<MCapabilityReference> subcapabilities)
      Set the sub capabilities.
      Parameters:
      subcapabilities - The sub capabilities to set.
    • addCapability

      public void addCapability(MCapabilityReference subcapability)
      Add a sub capability.
    • getExpressions

      public List<jadex.common.UnparsedExpression> getExpressions()
      Get the expressions.
      Returns:
      The expressions.
    • setExpressions

      public void setExpressions(List<jadex.common.UnparsedExpression> expressions)
      Set the expressions.
      Parameters:
      expressions - The expressions to set.
    • addExpression

      public void addExpression(jadex.common.UnparsedExpression expression)
      Add a expression.
    • hasExpression

      public boolean hasExpression(String name)
      Test if a expression is contained.
    • getExpression

      public jadex.common.UnparsedExpression getExpression(String name)
      Get a expression.
    • getConditions

      public List<MCondition> getConditions()
      Get the conditions.
      Returns:
      The conditions.
    • setConditions

      public void setConditions(List<MCondition> conditions)
      Set the conditions.
      Parameters:
      conditions - The conditions to set.
    • addCondition

      public void addCondition(MCondition condition)
      Add a condition.
    • hasCondition

      public boolean hasCondition(String name)
      Test if a condition is contained.
    • getCondition

      public MCondition getCondition(String name)
      Get a condition.
    • getGoalPublications

      public Map<jadex.common.ClassInfo,List<jadex.common.Tuple2<MGoal,String>>> getGoalPublications()
      Get the pubs.
      Returns:
      The pubs
    • setGoalPublications

      public void setGoalPublications(Map<jadex.common.ClassInfo,List<jadex.common.Tuple2<MGoal,String>>> pubs)
      The pubs to set.
      Parameters:
      pubs - The pubs to set
    • addGoalPublication

      public void addGoalPublication(jadex.common.ClassInfo ci, MGoal mgoal, String methodname)
      Add a publication info.
    • getBeliefReferences

      public Map<String,String> getBeliefReferences()
      Get the fully qualified belief references (abstract/reference name -> concrete belief name).
    • addBeliefReference

      public void addBeliefReference(String reference, String concrete)
      Add a belief reference (abstract/reference name -> concrete belief name).
      Parameters:
      reference - The fully qualified abstract / reference belief name.
      concrete - The fully qualified concrete belief name.
    • getResultMappings

      public Map<String,String> getResultMappings()
      Get the result mappings (concrete belief->result name). Note: result mappings are inverse to reference mappings!
    • addResultMapping

      public void addResultMapping(String belief, String result)
      Add a result mapping. Note: result mappings are inverse to reference mappings!
      Parameters:
      belief - The concrete belief name (fully qualified).
      result - The result name.
    • getExpressionReferences

      public Map<String,String> getExpressionReferences()
      Get the fully qualified expression references (abstract/reference name -> concrete expression name).
    • addExpressionReference

      public void addExpressionReference(String reference, String concrete)
      Add a expression reference (abstract/reference name -> concrete expression name).
      Parameters:
      reference - The fully qualified abstract / reference expression name.
      concrete - The fully qualified concrete expression name.
    • getEventReferences

      public Map<String,String> getEventReferences()
      Get the fully qualified event references (abstract/reference name -> concrete event name).
    • addEventReference

      public void addEventReference(String reference, String concrete)
      Add a event reference (abstract/reference name -> concrete event name).
      Parameters:
      reference - The fully qualified abstract / reference event name.
      concrete - The fully qualified concrete event name.
    • getGoalReferences

      public Map<String,String> getGoalReferences()
      Get the fully qualified goal references (abstract/reference name -> concrete goal name).
    • addGoalReference

      public void addGoalReference(String reference, String concrete)
      Add a goal reference (abstract/reference name -> concrete goal name).
      Parameters:
      reference - The fully qualified abstract / reference goal name.
      concrete - The fully qualified concrete goal name.
    • addReference

      protected static Map<String,String> addReference(Map<String,String> references, String reference, String concrete)
      Add a reference and resolve transitive dependencies.
    • getReferences

      protected static Map<String,String> getReferences(Map<String,String> references)
      Get references or empty map.