<!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: </li>
<li>Nested | </li>
<li><a href="#field_summary">Field</a> | </li>
<li><a href="#constructor_summary">Constr</a> | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li><a href="#field_detail">Field</a> | </li>
<li><a href="#constructor_detail">Constr</a> | </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"> </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> </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> </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> </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> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.util.Set<<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#partCapabilities">partCapabilities</a></strong></code> </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> </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> </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"> </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<<a href="../../bdi4jade/belief/Belief.html" title="interface in bdi4jade.belief">Belief</a><?>> initialBeliefs,
java.util.Set<<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>> 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 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 id,
<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> 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 id,
<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> wholeCapability,
java.util.Set<<a href="../../bdi4jade/belief/Belief.html" title="interface in bdi4jade.belief">Belief</a><?>> initialBeliefs,
java.util.Set<<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>> 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 id,
java.util.Set<<a href="../../bdi4jade/belief/Belief.html" title="interface in bdi4jade.belief">Belief</a><?>> initialBeliefs,
java.util.Set<<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>> 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"> </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> partCapability)</code> </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 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<<a href="../../bdi4jade/core/GoalUpdateSet.GoalDescription.html" title="class in bdi4jade.core">GoalUpdateSet.GoalDescription</a>></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/core/Capability.html#filter(java.util.Set)">filter</a></strong>(java.util.Set<<a href="../../bdi4jade/core/GoalUpdateSet.GoalDescription.html" title="class in bdi4jade.core">GoalUpdateSet.GoalDescription</a>> 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> 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> </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> </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> </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> </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> </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> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Set<<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#getPartCapabilities()">getPartCapabilities</a></strong>()</code> </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> </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> </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> </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> </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> partCapability)</code> </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> goal,
java.util.Set<<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>> 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> beliefRevisionStrategy)</code> </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> deliberationFunction)</code> </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> myAgent)</code> </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> optionGenerationFunction)</code> </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> planSelectionStrategy)</code> </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> </td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class 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 <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 java.lang.String id</pre>
</li>
</ul>
<a name="log">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>log</h4>
<pre>protected final org.apache.commons.logging.Log log</pre>
</li>
</ul>
<a name="myAgent">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>myAgent</h4>
<pre>protected <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 java.util.Set<<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>> partCapabilities</pre>
</li>
</ul>
<a name="planLibrary">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>planLibrary</h4>
<pre>protected final <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 <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 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 Capability(java.util.Set<<a href="../../bdi4jade/belief/Belief.html" title="interface in bdi4jade.belief">Belief</a><?>> initialBeliefs,
java.util.Set<<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>> 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 Capability(java.lang.String 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 Capability(java.lang.String id,
<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> 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 Capability(java.lang.String id,
<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> wholeCapability,
java.util.Set<<a href="../../bdi4jade/belief/Belief.html" title="interface in bdi4jade.belief">Belief</a><?>> initialBeliefs,
java.util.Set<<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>> 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 Capability(java.lang.String id,
java.util.Set<<a href="../../bdi4jade/belief/Belief.html" title="interface in bdi4jade.belief">Belief</a><?>> initialBeliefs,
java.util.Set<<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>> 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 void addPartCapability(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> partCapability)</pre>
</li>
</ul>
<a name="canProcess(jade.lang.acl.ACLMessage)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>canProcess</h4>
<pre>public boolean canProcess(jade.lang.acl.ACLMessage 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 java.util.Set<<a href="../../bdi4jade/core/GoalUpdateSet.GoalDescription.html" title="class in bdi4jade.core">GoalUpdateSet.GoalDescription</a>> filter(java.util.Set<<a href="../../bdi4jade/core/GoalUpdateSet.GoalDescription.html" title="class in bdi4jade.core">GoalUpdateSet.GoalDescription</a>> 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 void generateGoals(<a href="../../bdi4jade/core/GoalUpdateSet.html" title="class in bdi4jade.core">GoalUpdateSet</a> 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 <a href="../../bdi4jade/belief/BeliefBase.html" title="class in bdi4jade.belief">BeliefBase</a> 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 <a href="../../bdi4jade/reasoning/BeliefRevisionStrategy.html" title="interface in bdi4jade.reasoning">BeliefRevisionStrategy</a> 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 <a href="../../bdi4jade/reasoning/DeliberationFunction.html" title="interface in bdi4jade.reasoning">DeliberationFunction</a> 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 java.lang.String 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 <a href="../../bdi4jade/core/BDIAgent.html" title="class in bdi4jade.core">BDIAgent</a> 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 <a href="../../bdi4jade/reasoning/OptionGenerationFunction.html" title="interface in bdi4jade.reasoning">OptionGenerationFunction</a> 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 java.util.Set<<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>> 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 <a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan">PlanLibrary</a> 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 <a href="../../bdi4jade/reasoning/PlanSelectionStrategy.html" title="interface in bdi4jade.reasoning">PlanSelectionStrategy</a> 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 <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> 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 boolean hasParts()</pre>
</li>
</ul>
<a name="removePartCapability(bdi4jade.core.Capability)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removePartCapability</h4>
<pre>public boolean removePartCapability(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> partCapability)</pre>
</li>
</ul>
<a name="reviewBeliefs()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reviewBeliefs</h4>
<pre>protected void 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 <a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a> selectPlan(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a> goal,
java.util.Set<<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>> 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 void setBeliefRevisionStrategy(<a href="../../bdi4jade/reasoning/BeliefRevisionStrategy.html" title="interface in bdi4jade.reasoning">BeliefRevisionStrategy</a> 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 void setDeliberationFunction(<a href="../../bdi4jade/reasoning/DeliberationFunction.html" title="interface in bdi4jade.reasoning">DeliberationFunction</a> 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 void setMyAgent(<a href="../../bdi4jade/core/BDIAgent.html" title="class in bdi4jade.core">BDIAgent</a> 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 void setOptionGenerationFunction(<a href="../../bdi4jade/reasoning/OptionGenerationFunction.html" title="interface in bdi4jade.reasoning">OptionGenerationFunction</a> 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 void setPlanSelectionStrategy(<a href="../../bdi4jade/reasoning/PlanSelectionStrategy.html" title="interface in bdi4jade.reasoning">PlanSelectionStrategy</a> 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 void 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 java.lang.String toString()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>toString</code> in class <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: </li>
<li>Nested | </li>
<li><a href="#field_summary">Field</a> | </li>
<li><a href="#constructor_summary">Constr</a> | </li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li><a href="#field_detail">Field</a> | </li>
<li><a href="#constructor_detail">Constr</a> | </li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>