Capability.html

871 lines | 40.573 kB Blame History Raw Download
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_17) on Tue Aug 12 15:49:04 BRT 2014 -->
<title>Capability</title>
<meta name="date" content="2014-08-12">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Capability";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Capability.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-files/index-1.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../bdi4jade/core/BDIAgent.html" title="class in bdi4jade.core"><span class="strong">Prev Class</span></a></li>
<li><a href="../../bdi4jade/core/GoalUpdateSet.html" title="class in bdi4jade.core"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?bdi4jade/core/Capability.html" target="_top">Frames</a></li>
<li><a href="Capability.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">bdi4jade.core</div>
<h2 title="Class Capability" class="title">Class Capability</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>bdi4jade.core.Capability</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable</dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../bdi4jade/extension/planselection/utilitybased/UtilityBasedBDIAgent.html" title="class in bdi4jade.extension.planselection.utilitybased">UtilityBasedBDIAgent</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">Capability</span>
extends java.lang.Object
implements java.io.Serializable</pre>
<div class="block">This capability represents a component that aggregates the mental attitudes
 defined by the BDI architecture. It has a belief base with the associated
 beliefs (knowledge) and a plan library.</div>
<dl><dt><span class="strong">Author:</span></dt>
  <dd>ingrid</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../serialized-form.html#bdi4jade.core.Capability">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../bdi4jade/belief/BeliefBase.html" title="class in bdi4jade.belief">BeliefBase</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#beliefBase">beliefBase</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#id">id</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.commons.logging.Log</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#log">log</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../bdi4jade/core/BDIAgent.html" title="class in bdi4jade.core">BDIAgent</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#myAgent">myAgent</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.util.Set&lt;<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#partCapabilities">partCapabilities</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan">PlanLibrary</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#planLibrary">planLibrary</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#wholeCapability">wholeCapability</a></strong></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../bdi4jade/core/Capability.html#Capability()">Capability</a></strong>()</code>
<div class="block">Creates a new capability.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../bdi4jade/core/Capability.html#Capability(java.util.Set, java.util.Set)">Capability</a></strong>(java.util.Set&lt;<a href="../../bdi4jade/belief/Belief.html" title="interface in bdi4jade.belief">Belief</a>&lt;?&gt;&gt;&nbsp;initialBeliefs,
          java.util.Set&lt;<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>&gt;&nbsp;initialPlans)</code>
<div class="block">Creates a new capability.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../bdi4jade/core/Capability.html#Capability(java.lang.String)">Capability</a></strong>(java.lang.String&nbsp;id)</code>
<div class="block">Creates a new capability.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../bdi4jade/core/Capability.html#Capability(java.lang.String, bdi4jade.core.Capability)">Capability</a></strong>(java.lang.String&nbsp;id,
          <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&nbsp;wholeCapability)</code>
<div class="block">Creates a new capability.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../bdi4jade/core/Capability.html#Capability(java.lang.String, bdi4jade.core.Capability, java.util.Set, java.util.Set)">Capability</a></strong>(java.lang.String&nbsp;id,
          <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&nbsp;wholeCapability,
          java.util.Set&lt;<a href="../../bdi4jade/belief/Belief.html" title="interface in bdi4jade.belief">Belief</a>&lt;?&gt;&gt;&nbsp;initialBeliefs,
          java.util.Set&lt;<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>&gt;&nbsp;initialPlans)</code>
<div class="block">Creates a new capability.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../bdi4jade/core/Capability.html#Capability(java.lang.String, java.util.Set, java.util.Set)">Capability</a></strong>(java.lang.String&nbsp;id,
          java.util.Set&lt;<a href="../../bdi4jade/belief/Belief.html" title="interface in bdi4jade.belief">Belief</a>&lt;?&gt;&gt;&nbsp;initialBeliefs,
          java.util.Set&lt;<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>&gt;&nbsp;initialPlans)</code>
<div class="block">Creates a new capability.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#addPartCapability(bdi4jade.core.Capability)">addPartCapability</a></strong>(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&nbsp;partCapability)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#canProcess(jade.lang.acl.ACLMessage)">canProcess</a></strong>(jade.lang.acl.ACLMessage&nbsp;msg)</code>
<div class="block">Checks if this capability has a plan that can process the given message.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.util.Set&lt;<a href="../../bdi4jade/core/GoalUpdateSet.GoalDescription.html" title="class in bdi4jade.core">GoalUpdateSet.GoalDescription</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#filter(java.util.Set)">filter</a></strong>(java.util.Set&lt;<a href="../../bdi4jade/core/GoalUpdateSet.GoalDescription.html" title="class in bdi4jade.core">GoalUpdateSet.GoalDescription</a>&gt;&nbsp;goals)</code>
<div class="block">This method is responsible for selecting a set of goals that must be
 tried to be achieved (intentions) from the set of goals.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#generateGoals(bdi4jade.core.GoalUpdateSet)">generateGoals</a></strong>(<a href="../../bdi4jade/core/GoalUpdateSet.html" title="class in bdi4jade.core">GoalUpdateSet</a>&nbsp;goalUpdateSet)</code>
<div class="block">This method is responsible for generating new goals or dropping existing
 ones.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../bdi4jade/belief/BeliefBase.html" title="class in bdi4jade.belief">BeliefBase</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#getBeliefBase()">getBeliefBase</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../bdi4jade/reasoning/BeliefRevisionStrategy.html" title="interface in bdi4jade.reasoning">BeliefRevisionStrategy</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#getBeliefRevisionStrategy()">getBeliefRevisionStrategy</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../bdi4jade/reasoning/DeliberationFunction.html" title="interface in bdi4jade.reasoning">DeliberationFunction</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#getDeliberationFunction()">getDeliberationFunction</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#getId()">getId</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../bdi4jade/core/BDIAgent.html" title="class in bdi4jade.core">BDIAgent</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#getMyAgent()">getMyAgent</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../bdi4jade/reasoning/OptionGenerationFunction.html" title="interface in bdi4jade.reasoning">OptionGenerationFunction</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#getOptionGenerationFunction()">getOptionGenerationFunction</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Set&lt;<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#getPartCapabilities()">getPartCapabilities</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan">PlanLibrary</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#getPlanLibrary()">getPlanLibrary</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../bdi4jade/reasoning/PlanSelectionStrategy.html" title="interface in bdi4jade.reasoning">PlanSelectionStrategy</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#getPlanSelectionStrategy()">getPlanSelectionStrategy</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#getWholeCapability()">getWholeCapability</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#hasParts()">hasParts</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#removePartCapability(bdi4jade.core.Capability)">removePartCapability</a></strong>(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&nbsp;partCapability)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#reviewBeliefs()">reviewBeliefs</a></strong>()</code>
<div class="block">This method is responsible for reviewing beliefs from this agent.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#selectPlan(bdi4jade.goal.Goal, java.util.Set)">selectPlan</a></strong>(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;goal,
          java.util.Set&lt;<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>&gt;&nbsp;candidatePlans)</code>
<div class="block">This method is responsible for selecting plans to achieve a goals of this
 agent.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#setBeliefRevisionStrategy(bdi4jade.reasoning.BeliefRevisionStrategy)">setBeliefRevisionStrategy</a></strong>(<a href="../../bdi4jade/reasoning/BeliefRevisionStrategy.html" title="interface in bdi4jade.reasoning">BeliefRevisionStrategy</a>&nbsp;beliefRevisionStrategy)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#setDeliberationFunction(bdi4jade.reasoning.DeliberationFunction)">setDeliberationFunction</a></strong>(<a href="../../bdi4jade/reasoning/DeliberationFunction.html" title="interface in bdi4jade.reasoning">DeliberationFunction</a>&nbsp;deliberationFunction)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#setMyAgent(bdi4jade.core.BDIAgent)">setMyAgent</a></strong>(<a href="../../bdi4jade/core/BDIAgent.html" title="class in bdi4jade.core">BDIAgent</a>&nbsp;myAgent)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#setOptionGenerationFunction(bdi4jade.reasoning.OptionGenerationFunction)">setOptionGenerationFunction</a></strong>(<a href="../../bdi4jade/reasoning/OptionGenerationFunction.html" title="interface in bdi4jade.reasoning">OptionGenerationFunction</a>&nbsp;optionGenerationFunction)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#setPlanSelectionStrategy(bdi4jade.reasoning.PlanSelectionStrategy)">setPlanSelectionStrategy</a></strong>(<a href="../../bdi4jade/reasoning/PlanSelectionStrategy.html" title="interface in bdi4jade.reasoning">PlanSelectionStrategy</a>&nbsp;planSelectionStrategy)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#setup()">setup</a></strong>()</code>
<div class="block">This is an empty holder for being overridden by subclasses.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#toString()">toString</a></strong>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="beliefBase">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beliefBase</h4>
<pre>protected final&nbsp;<a href="../../bdi4jade/belief/BeliefBase.html" title="class in bdi4jade.belief">BeliefBase</a> beliefBase</pre>
</li>
</ul>
<a name="id">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>id</h4>
<pre>protected final&nbsp;java.lang.String id</pre>
</li>
</ul>
<a name="log">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>log</h4>
<pre>protected final&nbsp;org.apache.commons.logging.Log log</pre>
</li>
</ul>
<a name="myAgent">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>myAgent</h4>
<pre>protected&nbsp;<a href="../../bdi4jade/core/BDIAgent.html" title="class in bdi4jade.core">BDIAgent</a> myAgent</pre>
</li>
</ul>
<a name="partCapabilities">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>partCapabilities</h4>
<pre>protected final&nbsp;java.util.Set&lt;<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&gt; partCapabilities</pre>
</li>
</ul>
<a name="planLibrary">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>planLibrary</h4>
<pre>protected final&nbsp;<a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan">PlanLibrary</a> planLibrary</pre>
</li>
</ul>
<a name="wholeCapability">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>wholeCapability</h4>
<pre>protected&nbsp;<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> wholeCapability</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="Capability()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Capability</h4>
<pre>public&nbsp;Capability()</pre>
<div class="block">Creates a new capability. It uses <a href="../../bdi4jade/belief/BeliefBase.html" title="class in bdi4jade.belief"><code>BeliefBase</code></a> and
 <a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan"><code>PlanLibrary</code></a> as belief base and plan library respectively.</div>
</li>
</ul>
<a name="Capability(java.util.Set, java.util.Set)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Capability</h4>
<pre>public&nbsp;Capability(java.util.Set&lt;<a href="../../bdi4jade/belief/Belief.html" title="interface in bdi4jade.belief">Belief</a>&lt;?&gt;&gt;&nbsp;initialBeliefs,
          java.util.Set&lt;<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>&gt;&nbsp;initialPlans)</pre>
<div class="block">Creates a new capability.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>initialBeliefs</code> - the initial set of beliefs to be added to the belief base of
            this capability.</dd><dd><code>initialPlans</code> - the initial set of plans to be added to the plan library of
            this capability.</dd></dl>
</li>
</ul>
<a name="Capability(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Capability</h4>
<pre>public&nbsp;Capability(java.lang.String&nbsp;id)</pre>
<div class="block">Creates a new capability. It uses <a href="../../bdi4jade/belief/BeliefBase.html" title="class in bdi4jade.belief"><code>BeliefBase</code></a> and
 <a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan"><code>PlanLibrary</code></a> as belief base and plan library respectively.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>id</code> - the capability id. If it is null, the class name is going to
            be used.</dd></dl>
</li>
</ul>
<a name="Capability(java.lang.String, bdi4jade.core.Capability)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Capability</h4>
<pre>public&nbsp;Capability(java.lang.String&nbsp;id,
          <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&nbsp;wholeCapability)</pre>
<div class="block">Creates a new capability. It uses <a href="../../bdi4jade/belief/BeliefBase.html" title="class in bdi4jade.belief"><code>BeliefBase</code></a> and
 <a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan"><code>PlanLibrary</code></a> as belief base and plan library respectively.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>id</code> - the capability id. If it is null, the class name is going to
            be used.</dd><dd><code>wholeCapability</code> - the whole-capability that this capability is part of.</dd></dl>
</li>
</ul>
<a name="Capability(java.lang.String, bdi4jade.core.Capability, java.util.Set, java.util.Set)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Capability</h4>
<pre>public&nbsp;Capability(java.lang.String&nbsp;id,
          <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&nbsp;wholeCapability,
          java.util.Set&lt;<a href="../../bdi4jade/belief/Belief.html" title="interface in bdi4jade.belief">Belief</a>&lt;?&gt;&gt;&nbsp;initialBeliefs,
          java.util.Set&lt;<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>&gt;&nbsp;initialPlans)</pre>
<div class="block">Creates a new capability.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>id</code> - the capability id. If it is null, the class name is going to
            be used.</dd><dd><code>wholeCapability</code> - the whole-capability that this capability is part of.</dd><dd><code>initialBeliefs</code> - the initial set of beliefs to be added to the belief base of
            this capability.</dd><dd><code>initialPlans</code> - the initial set of plans to be added to the plan library of
            this capability.</dd></dl>
</li>
</ul>
<a name="Capability(java.lang.String, java.util.Set, java.util.Set)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Capability</h4>
<pre>public&nbsp;Capability(java.lang.String&nbsp;id,
          java.util.Set&lt;<a href="../../bdi4jade/belief/Belief.html" title="interface in bdi4jade.belief">Belief</a>&lt;?&gt;&gt;&nbsp;initialBeliefs,
          java.util.Set&lt;<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>&gt;&nbsp;initialPlans)</pre>
<div class="block">Creates a new capability.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>id</code> - the capability id. If it is null, the class name is going to
            be used.</dd><dd><code>initialBeliefs</code> - the initial set of beliefs to be added to the belief base of
            this capability.</dd><dd><code>initialPlans</code> - the initial set of plans to be added to the plan library of
            this capability.</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="addPartCapability(bdi4jade.core.Capability)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPartCapability</h4>
<pre>public&nbsp;void&nbsp;addPartCapability(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&nbsp;partCapability)</pre>
</li>
</ul>
<a name="canProcess(jade.lang.acl.ACLMessage)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>canProcess</h4>
<pre>public&nbsp;boolean&nbsp;canProcess(jade.lang.acl.ACLMessage&nbsp;msg)</pre>
<div class="block">Checks if this capability has a plan that can process the given message.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>msg</code> - the message to be checked.</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if this capability has at least a plan that can process the
         message.</dd></dl>
</li>
</ul>
<a name="filter(java.util.Set)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>filter</h4>
<pre>protected&nbsp;java.util.Set&lt;<a href="../../bdi4jade/core/GoalUpdateSet.GoalDescription.html" title="class in bdi4jade.core">GoalUpdateSet.GoalDescription</a>&gt;&nbsp;filter(java.util.Set&lt;<a href="../../bdi4jade/core/GoalUpdateSet.GoalDescription.html" title="class in bdi4jade.core">GoalUpdateSet.GoalDescription</a>&gt;&nbsp;goals)</pre>
<div class="block">This method is responsible for selecting a set of goals that must be
 tried to be achieved (intentions) from the set of goals. Its default
 implementation requests each of its capabilities to filter their goals.
 Subclasses may override this method to customize this deliberation
 function.</div>
</li>
</ul>
<a name="generateGoals(bdi4jade.core.GoalUpdateSet)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>generateGoals</h4>
<pre>protected&nbsp;void&nbsp;generateGoals(<a href="../../bdi4jade/core/GoalUpdateSet.html" title="class in bdi4jade.core">GoalUpdateSet</a>&nbsp;goalUpdateSet)</pre>
<div class="block">This method is responsible for generating new goals or dropping existing
 ones. Its default implementation requests each of its capabilities to
 generate or drop goals. Subclasses may override this method to customize
 this options generation function.</div>
</li>
</ul>
<a name="getBeliefBase()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBeliefBase</h4>
<pre>public&nbsp;<a href="../../bdi4jade/belief/BeliefBase.html" title="class in bdi4jade.belief">BeliefBase</a>&nbsp;getBeliefBase()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>the beliefBase</dd></dl>
</li>
</ul>
<a name="getBeliefRevisionStrategy()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBeliefRevisionStrategy</h4>
<pre>public&nbsp;<a href="../../bdi4jade/reasoning/BeliefRevisionStrategy.html" title="interface in bdi4jade.reasoning">BeliefRevisionStrategy</a>&nbsp;getBeliefRevisionStrategy()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>the beliefRevisionStrategy</dd></dl>
</li>
</ul>
<a name="getDeliberationFunction()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDeliberationFunction</h4>
<pre>public&nbsp;<a href="../../bdi4jade/reasoning/DeliberationFunction.html" title="interface in bdi4jade.reasoning">DeliberationFunction</a>&nbsp;getDeliberationFunction()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>the deliberationFunction</dd></dl>
</li>
</ul>
<a name="getId()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getId</h4>
<pre>public&nbsp;java.lang.String&nbsp;getId()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>the id</dd></dl>
</li>
</ul>
<a name="getMyAgent()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMyAgent</h4>
<pre>public&nbsp;<a href="../../bdi4jade/core/BDIAgent.html" title="class in bdi4jade.core">BDIAgent</a>&nbsp;getMyAgent()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>the agent that this capability is associated with.</dd></dl>
</li>
</ul>
<a name="getOptionGenerationFunction()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOptionGenerationFunction</h4>
<pre>public&nbsp;<a href="../../bdi4jade/reasoning/OptionGenerationFunction.html" title="interface in bdi4jade.reasoning">OptionGenerationFunction</a>&nbsp;getOptionGenerationFunction()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>the optionGenerationFunction</dd></dl>
</li>
</ul>
<a name="getPartCapabilities()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPartCapabilities</h4>
<pre>public&nbsp;java.util.Set&lt;<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&gt;&nbsp;getPartCapabilities()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>the partCapabilities</dd></dl>
</li>
</ul>
<a name="getPlanLibrary()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPlanLibrary</h4>
<pre>public&nbsp;<a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan">PlanLibrary</a>&nbsp;getPlanLibrary()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>the planLibrary</dd></dl>
</li>
</ul>
<a name="getPlanSelectionStrategy()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPlanSelectionStrategy</h4>
<pre>public&nbsp;<a href="../../bdi4jade/reasoning/PlanSelectionStrategy.html" title="interface in bdi4jade.reasoning">PlanSelectionStrategy</a>&nbsp;getPlanSelectionStrategy()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>the planSelectionStrategy</dd></dl>
</li>
</ul>
<a name="getWholeCapability()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWholeCapability</h4>
<pre>public&nbsp;<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&nbsp;getWholeCapability()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>the wholeCapability</dd></dl>
</li>
</ul>
<a name="hasParts()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasParts</h4>
<pre>public&nbsp;boolean&nbsp;hasParts()</pre>
</li>
</ul>
<a name="removePartCapability(bdi4jade.core.Capability)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removePartCapability</h4>
<pre>public&nbsp;boolean&nbsp;removePartCapability(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&nbsp;partCapability)</pre>
</li>
</ul>
<a name="reviewBeliefs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reviewBeliefs</h4>
<pre>protected&nbsp;void&nbsp;reviewBeliefs()</pre>
<div class="block">This method is responsible for reviewing beliefs from this agent. Its
 default implementation requests each of its capabilities to review their
 individual set of beliefs. Subclasses may override this method to
 customize belief revision.</div>
</li>
</ul>
<a name="selectPlan(bdi4jade.goal.Goal, java.util.Set)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectPlan</h4>
<pre>protected&nbsp;<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>&nbsp;selectPlan(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;goal,
              java.util.Set&lt;<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>&gt;&nbsp;candidatePlans)</pre>
<div class="block">This method is responsible for selecting plans to achieve a goals of this
 agent. Its default implementation requests each of its capabilities to
 select one of its plans. Subclasses may override this method to customize
 plan selection.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>goal</code> - the goal to be achieved.</dd><dd><code>capabilityPlans</code> - the set of candidate plans of each capability.</dd></dl>
</li>
</ul>
<a name="setBeliefRevisionStrategy(bdi4jade.reasoning.BeliefRevisionStrategy)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBeliefRevisionStrategy</h4>
<pre>public&nbsp;void&nbsp;setBeliefRevisionStrategy(<a href="../../bdi4jade/reasoning/BeliefRevisionStrategy.html" title="interface in bdi4jade.reasoning">BeliefRevisionStrategy</a>&nbsp;beliefRevisionStrategy)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>beliefRevisionStrategy</code> - the beliefRevisionStrategy to set</dd></dl>
</li>
</ul>
<a name="setDeliberationFunction(bdi4jade.reasoning.DeliberationFunction)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDeliberationFunction</h4>
<pre>public&nbsp;void&nbsp;setDeliberationFunction(<a href="../../bdi4jade/reasoning/DeliberationFunction.html" title="interface in bdi4jade.reasoning">DeliberationFunction</a>&nbsp;deliberationFunction)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>deliberationFunction</code> - the deliberationFunction to set</dd></dl>
</li>
</ul>
<a name="setMyAgent(bdi4jade.core.BDIAgent)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMyAgent</h4>
<pre>public&nbsp;void&nbsp;setMyAgent(<a href="../../bdi4jade/core/BDIAgent.html" title="class in bdi4jade.core">BDIAgent</a>&nbsp;myAgent)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>myAgent</code> - the myAgent to set</dd></dl>
</li>
</ul>
<a name="setOptionGenerationFunction(bdi4jade.reasoning.OptionGenerationFunction)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOptionGenerationFunction</h4>
<pre>public&nbsp;void&nbsp;setOptionGenerationFunction(<a href="../../bdi4jade/reasoning/OptionGenerationFunction.html" title="interface in bdi4jade.reasoning">OptionGenerationFunction</a>&nbsp;optionGenerationFunction)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>optionGenerationFunction</code> - the optionGenerationFunction to set</dd></dl>
</li>
</ul>
<a name="setPlanSelectionStrategy(bdi4jade.reasoning.PlanSelectionStrategy)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPlanSelectionStrategy</h4>
<pre>public&nbsp;void&nbsp;setPlanSelectionStrategy(<a href="../../bdi4jade/reasoning/PlanSelectionStrategy.html" title="interface in bdi4jade.reasoning">PlanSelectionStrategy</a>&nbsp;planSelectionStrategy)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>planSelectionStrategy</code> - the planSelectionStrategy to set</dd></dl>
</li>
</ul>
<a name="setup()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setup</h4>
<pre>protected&nbsp;void&nbsp;setup()</pre>
<div class="block">This is an empty holder for being overridden by subclasses. Initializes
 the capability. This method is invoked by the constructor. It may be used
 to add initial plans and beliefs. The reasoning strategies of this
 capability are initialized in the constructor with default strategies.
 This method may also customize them.</div>
</li>
</ul>
<a name="toString()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="strong">See Also:</span></dt><dd><code>Object.toString()</code></dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Capability.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-files/index-1.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../bdi4jade/core/BDIAgent.html" title="class in bdi4jade.core"><span class="strong">Prev Class</span></a></li>
<li><a href="../../bdi4jade/core/GoalUpdateSet.html" title="class in bdi4jade.core"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?bdi4jade/core/Capability.html" target="_top">Frames</a></li>
<li><a href="Capability.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>