<!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 (1.8.0) on Sat Sep 13 16:26:26 BRT 2014 -->
<title>Capability</title>
<meta name="date" content="2014-09-13">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Capability";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<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="interface in bdi4jade.core"><span class="typeNameLink">Prev Class</span></a></li>
<li><a href="../../bdi4jade/core/GoalUpdateSet.html" title="class in bdi4jade.core"><span class="typeNameLink">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/UtilityBasedCabability.html" title="class in bdi4jade.extension.planselection.utilitybased">UtilityBasedCabability</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">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="simpleTagLabel">Author:</span></dt>
<dd>Ingrid Nunes</dd>
<dt><span class="seeLabel">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="memberSummary" 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><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#beliefBase">beliefBase</a></span></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#id">id</a></span></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan">PlanLibrary</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#planLibrary">planLibrary</a></span></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="memberSummary" 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="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code> </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#Capability--">Capability</a></span>()</code>
<div class="block">Creates a new capability with a generated id.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code> </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#Capability-java.util.Set-java.util.Set-">Capability</a></span>(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 with a generated id.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code> </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#Capability-java.lang.String-">Capability</a></span>(java.lang.String id)</code>
<div class="block">Creates a new capability with the given id.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#Capability-java.lang.String-bdi4jade.belief.BeliefBase-java.util.Set-bdi4jade.plan.PlanLibrary-java.util.Set-">Capability</a></span>(java.lang.String id,
<a href="../../bdi4jade/belief/BeliefBase.html" title="class in bdi4jade.belief">BeliefBase</a> beliefBase,
java.util.Set<<a href="../../bdi4jade/belief/Belief.html" title="interface in bdi4jade.belief">Belief</a><?,?>> initialBeliefs,
<a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan">PlanLibrary</a> planLibrary,
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 with the given id, or a generated one if it is
null.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code> </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#Capability-java.lang.String-java.util.Set-java.util.Set-">Capability</a></span>(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 with the given id.</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#addAnnotatedFields-java.lang.Class-">addAnnotatedFields</a></span>(java.lang.Class<? extends <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>> capabilityClass)</code>
<div class="block">Adds by reflection capability components, such as beliefs and plans,
according to annotated fields.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#addAssociatedCapability-bdi4jade.core.Capability-">addAssociatedCapability</a></span>(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> capability)</code>
<div class="block">Associates a capability to this capability.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#addCandidatePlans-bdi4jade.goal.Goal-java.util.Map-">addCandidatePlans</a></span>(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a> goal,
java.util.Map<<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>,java.util.Set<<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>>> candidatePlansMap)</code>
<div class="block">Adds the set of plans of this capability that can achieve the given goal
to a map of candidate plans.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#addPartCapability-bdi4jade.core.Capability-">addPartCapability</a></span>(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> partCapability)</code>
<div class="block">Adds a capability as part of this capability, which is a
whole-capability.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#canAchieve-bdi4jade.goal.Goal-">canAchieve</a></span>(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a> goal)</code>
<div class="block">Checks if this capability has a plan that can achieve the given goal.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#canHandle-jade.lang.acl.ACLMessage-">canHandle</a></span>(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 id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#equals-java.lang.Object-">equals</a></span>(java.lang.Object obj)</code>
<div class="block">Returns true if the object given as parameter is a capability and has the
same full id of this capability.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<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><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#getAssociatedCapabilities--">getAssociatedCapabilities</a></span>()</code>
<div class="block">Returns all capabilities with which this capability is associated.</div>
</td>
</tr>
<tr id="i8" 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><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#getBeliefBase--">getBeliefBase</a></span>()</code>
<div class="block">Returns this capability belief base.</div>
</td>
</tr>
<tr id="i9" 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><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#getBeliefRevisionStrategy--">getBeliefRevisionStrategy</a></span>()</code>
<div class="block">Returns the belief revision strategy of this capability.</div>
</td>
</tr>
<tr id="i10" 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><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#getDeliberationFunction--">getDeliberationFunction</a></span>()</code>
<div class="block">Returns the deliberation function of this capability.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#getFullId--">getFullId</a></span>()</code>
<div class="block">Returns the full id of this capability, which is its id prefixed by all
whole-capabilities' ids.</div>
</td>
</tr>
<tr id="i12" 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><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#getGoalOwner-java.lang.Class-boolean-">getGoalOwner</a></span>(java.lang.Class<? extends <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>> owner,
boolean internal)</code>
<div class="block">Returns the capability instances that owns a dispatched goal, considering
the superclasses of this capability, its associations and compositions.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#getId--">getId</a></span>()</code>
<div class="block">Returns this capability id.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../bdi4jade/core/BDIAgent.html" title="interface in bdi4jade.core">BDIAgent</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#getMyAgent--">getMyAgent</a></span>()</code>
<div class="block">Returns the agent that this capability is associated with.</div>
</td>
</tr>
<tr id="i15" 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><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#getOptionGenerationFunction--">getOptionGenerationFunction</a></span>()</code>
<div class="block">Returns the option generation function of this capability.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>java.util.List<java.lang.Class<? extends <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#getParentCapabilities--">getParentCapabilities</a></span>()</code>
<div class="block">Returns the classes of all parent capabilities of this capability.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<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><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#getPartCapabilities--">getPartCapabilities</a></span>()</code>
<div class="block">Returns the parts of this capability.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan">PlanLibrary</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#getPlanLibrary--">getPlanLibrary</a></span>()</code>
<div class="block">Returns the plan library of this capability.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="../../bdi4jade/reasoning/PlanSelectionStrategy.html" title="interface in bdi4jade.reasoning">PlanSelectionStrategy</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#getPlanSelectionStrategy--">getPlanSelectionStrategy</a></span>()</code>
<div class="block">Returns the plan selection strategy of this capability.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#getWholeCapability--">getWholeCapability</a></span>()</code>
<div class="block">Returns the whole-capability, if this is a part capability.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#hashCode--">hashCode</a></span>()</code> </td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#removeAssociatedCapability-bdi4jade.core.Capability-">removeAssociatedCapability</a></span>(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> capability)</code>
<div class="block">Dissociates a capability of this capability.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#removePartCapability-bdi4jade.core.Capability-">removePartCapability</a></span>(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> partCapability)</code>
<div class="block">Removes a capability as part of this capability, which is a
whole-capability.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#setBeliefRevisionStrategy-bdi4jade.reasoning.BeliefRevisionStrategy-">setBeliefRevisionStrategy</a></span>(<a href="../../bdi4jade/reasoning/BeliefRevisionStrategy.html" title="interface in bdi4jade.reasoning">BeliefRevisionStrategy</a> beliefRevisionStrategy)</code>
<div class="block">Sets the belief revision strategy of this capability.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#setDeliberationFunction-bdi4jade.reasoning.DeliberationFunction-">setDeliberationFunction</a></span>(<a href="../../bdi4jade/reasoning/DeliberationFunction.html" title="interface in bdi4jade.reasoning">DeliberationFunction</a> deliberationFunction)</code>
<div class="block">Sets the deliberation function of this capability.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#setOptionGenerationFunction-bdi4jade.reasoning.OptionGenerationFunction-">setOptionGenerationFunction</a></span>(<a href="../../bdi4jade/reasoning/OptionGenerationFunction.html" title="interface in bdi4jade.reasoning">OptionGenerationFunction</a> optionGenerationFunction)</code>
<div class="block">Sets the option generation function of this capability.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#setPlanSelectionStrategy-bdi4jade.reasoning.PlanSelectionStrategy-">setPlanSelectionStrategy</a></span>(<a href="../../bdi4jade/reasoning/PlanSelectionStrategy.html" title="interface in bdi4jade.reasoning">PlanSelectionStrategy</a> planSelectionStrategy)</code>
<div class="block">Sets the plan selection strategy of this capability.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#setup--">setup</a></span>()</code>
<div class="block">This is an empty holder for being overridden by subclasses.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#takeDown--">takeDown</a></span>()</code>
<div class="block">This is an empty holder for being overridden by subclasses.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#toString--">toString</a></span>()</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, finalize, getClass, 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="planLibrary">
<!-- -->
</a>
<ul class="blockListLast">
<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>
</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 with a generated id. 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 with a generated id. 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, and
adds initial beliefs and plans.</div>
<dl>
<dt><span class="paramLabel">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 with the given id. 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="paramLabel">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.belief.BeliefBase-java.util.Set-bdi4jade.plan.PlanLibrary-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Capability</h4>
<pre>protected Capability(java.lang.String id,
<a href="../../bdi4jade/belief/BeliefBase.html" title="class in bdi4jade.belief">BeliefBase</a> beliefBase,
java.util.Set<<a href="../../bdi4jade/belief/Belief.html" title="interface in bdi4jade.belief">Belief</a><?,?>> initialBeliefs,
<a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan">PlanLibrary</a> planLibrary,
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 with the given id, or a generated one if it is
null. It also sets the belief base and plan library, and adds initial
beliefs and plans.</div>
<dl>
<dt><span class="paramLabel">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>beliefBase</code> - the belief base.</dd>
<dd><code>initialBeliefs</code> - the initial set of beliefs to be added to the belief base of
this capability.</dd>
<dd><code>planLibrary</code> - the plan library.</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 with the given id. 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, and
adds initial beliefs and plans.</div>
<dl>
<dt><span class="paramLabel">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="addAnnotatedFields-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addAnnotatedFields</h4>
<pre>protected void addAnnotatedFields(java.lang.Class<? extends <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>> capabilityClass)</pre>
<div class="block">Adds by reflection capability components, such as beliefs and plans,
according to annotated fields. This method is invoked by for capability
class, and all parent classes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>capabilityClass</code> - the capability class of which fields should me added to this
capability.</dd>
</dl>
</li>
</ul>
<a name="addAssociatedCapability-bdi4jade.core.Capability-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addAssociatedCapability</h4>
<pre>public final void addAssociatedCapability(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> capability)</pre>
<div class="block">Associates a capability to this capability.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>capability</code> - the capability to be associated.</dd>
</dl>
</li>
</ul>
<a name="addCandidatePlans-bdi4jade.goal.Goal-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addCandidatePlans</h4>
<pre>public void addCandidatePlans(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a> goal,
java.util.Map<<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>,java.util.Set<<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>>> candidatePlansMap)</pre>
<div class="block">Adds the set of plans of this capability that can achieve the given goal
to a map of candidate plans. It checks its plan library and the part
capabilities, recursively.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>goal</code> - the goal to be achieved.</dd>
<dd><code>candidatePlansMap</code> - the map to which the set of plans that can achieve the goal
should be added.</dd>
</dl>
</li>
</ul>
<a name="addPartCapability-bdi4jade.core.Capability-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPartCapability</h4>
<pre>public final void addPartCapability(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> partCapability)</pre>
<div class="block">Adds a capability as part of this capability, which is a
whole-capability.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>partCapability</code> - the part capability to be added.</dd>
</dl>
</li>
</ul>
<a name="canAchieve-bdi4jade.goal.Goal-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>canAchieve</h4>
<pre>public boolean canAchieve(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a> goal)</pre>
<div class="block">Checks if this capability has a plan that can achieve the given goal. It
checks the plan library of this capabilities and, if cannot achieve it,
it checks part capabilities, recursively.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>goal</code> - the goal to be checked.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this capability has at least a plan that can achieve the
goal.</dd>
</dl>
</li>
</ul>
<a name="canHandle-jade.lang.acl.ACLMessage-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>canHandle</h4>
<pre>public boolean canHandle(jade.lang.acl.ACLMessage msg)</pre>
<div class="block">Checks if this capability has a plan that can process the given message.
It checks the plan library of this capabilities and, if cannot handle it,
it checks part capabilities, recursively.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>msg</code> - the message to be checked.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this capability has at least a plan that can process the
message.</dd>
</dl>
</li>
</ul>
<a name="equals-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public final boolean equals(java.lang.Object obj)</pre>
<div class="block">Returns true if the object given as parameter is a capability and has the
same full id of this capability.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>equals</code> in class <code>java.lang.Object</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>obj</code> - the object to be tested as equals to this plan.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Object.equals(java.lang.Object)</code></dd>
</dl>
</li>
</ul>
<a name="getAssociatedCapabilities--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAssociatedCapabilities</h4>
<pre>public final java.util.Set<<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>> getAssociatedCapabilities()</pre>
<div class="block">Returns all capabilities with which this capability is associated.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the associated capabilities.</dd>
</dl>
</li>
</ul>
<a name="getBeliefBase--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBeliefBase</h4>
<pre>public final <a href="../../bdi4jade/belief/BeliefBase.html" title="class in bdi4jade.belief">BeliefBase</a> getBeliefBase()</pre>
<div class="block">Returns this capability belief base.</div>
<dl>
<dt><span class="returnLabel">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 final <a href="../../bdi4jade/reasoning/BeliefRevisionStrategy.html" title="interface in bdi4jade.reasoning">BeliefRevisionStrategy</a> getBeliefRevisionStrategy()</pre>
<div class="block">Returns the belief revision strategy of this capability.</div>
<dl>
<dt><span class="returnLabel">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 final <a href="../../bdi4jade/reasoning/DeliberationFunction.html" title="interface in bdi4jade.reasoning">DeliberationFunction</a> getDeliberationFunction()</pre>
<div class="block">Returns the deliberation function of this capability.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the deliberationFunction.</dd>
</dl>
</li>
</ul>
<a name="getFullId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFullId</h4>
<pre>public final java.lang.String getFullId()</pre>
<div class="block">Returns the full id of this capability, which is its id prefixed by all
whole-capabilities' ids.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the full id of this capability.</dd>
</dl>
</li>
</ul>
<a name="getGoalOwner-java.lang.Class-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGoalOwner</h4>
<pre>public final java.util.Set<<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>> getGoalOwner(java.lang.Class<? extends <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>> owner,
boolean internal)</pre>
<div class="block">Returns the capability instances that owns a dispatched goal, considering
the superclasses of this capability, its associations and compositions.
A capability may dispatch its own goals and goals of its parents. It may
also dispatch external goals of associated or part capabilities (and
their parents), and all goals of whole capabilities.
This method thus searches all capabilities that have a relationship with
this capability (either inheritance, composition or association) and
finds the concrete capability instances whose definition owns a goal
(specified with the <code>Owner</code> annotation in goals).
If this method returns an empty set, it means that this capability has no
access to the goal owned by capabilities of the given class.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>owner</code> - the capability class that is the goal owner.</dd>
<dd><code>internal</code> - the boolean that indicates whether the goal is internal or
external.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the capability instances related to this capability (or the
capability itself) that owns the goal, or an empty set if the
capability has no access to goals owned by capability of the
given class.</dd>
</dl>
</li>
</ul>
<a name="getId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getId</h4>
<pre>public java.lang.String getId()</pre>
<div class="block">Returns this capability id.</div>
<dl>
<dt><span class="returnLabel">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 final <a href="../../bdi4jade/core/BDIAgent.html" title="interface in bdi4jade.core">BDIAgent</a> getMyAgent()</pre>
<div class="block">Returns the agent that this capability is associated with.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the agent.</dd>
</dl>
</li>
</ul>
<a name="getOptionGenerationFunction--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOptionGenerationFunction</h4>
<pre>public final <a href="../../bdi4jade/reasoning/OptionGenerationFunction.html" title="interface in bdi4jade.reasoning">OptionGenerationFunction</a> getOptionGenerationFunction()</pre>
<div class="block">Returns the option generation function of this capability.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the optionGenerationFunction.</dd>
</dl>
</li>
</ul>
<a name="getParentCapabilities--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParentCapabilities</h4>
<pre>public final java.util.List<java.lang.Class<? extends <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>>> getParentCapabilities()</pre>
<div class="block">Returns the classes of all parent capabilities of this capability.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the parentCapabilities.</dd>
</dl>
</li>
</ul>
<a name="getPartCapabilities--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPartCapabilities</h4>
<pre>public final java.util.Set<<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>> getPartCapabilities()</pre>
<div class="block">Returns the parts of this capability.</div>
<dl>
<dt><span class="returnLabel">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 final <a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan">PlanLibrary</a> getPlanLibrary()</pre>
<div class="block">Returns the plan library of this capability.</div>
<dl>
<dt><span class="returnLabel">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 final <a href="../../bdi4jade/reasoning/PlanSelectionStrategy.html" title="interface in bdi4jade.reasoning">PlanSelectionStrategy</a> getPlanSelectionStrategy()</pre>
<div class="block">Returns the plan selection strategy of this capability.</div>
<dl>
<dt><span class="returnLabel">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 final <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> getWholeCapability()</pre>
<div class="block">Returns the whole-capability, if this is a part capability.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the wholeCapability.</dd>
</dl>
</li>
</ul>
<a name="hashCode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre>public final int hashCode()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>hashCode</code> in class <code>java.lang.Object</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Object.hashCode()</code></dd>
</dl>
</li>
</ul>
<a name="removeAssociatedCapability-bdi4jade.core.Capability-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAssociatedCapability</h4>
<pre>public final void removeAssociatedCapability(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> capability)</pre>
<div class="block">Dissociates a capability of this capability.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>capability</code> - the capability to be dissociated.</dd>
</dl>
</li>
</ul>
<a name="removePartCapability-bdi4jade.core.Capability-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removePartCapability</h4>
<pre>public final boolean removePartCapability(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a> partCapability)</pre>
<div class="block">Removes a capability as part of this capability, which is a
whole-capability.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>partCapability</code> - the part capability to be removed.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the capability was removed, false otherwise.</dd>
</dl>
</li>
</ul>
<a name="setBeliefRevisionStrategy-bdi4jade.reasoning.BeliefRevisionStrategy-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBeliefRevisionStrategy</h4>
<pre>public final void setBeliefRevisionStrategy(<a href="../../bdi4jade/reasoning/BeliefRevisionStrategy.html" title="interface in bdi4jade.reasoning">BeliefRevisionStrategy</a> beliefRevisionStrategy)</pre>
<div class="block">Sets the belief revision strategy of this capability.</div>
<dl>
<dt><span class="paramLabel">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 final void setDeliberationFunction(<a href="../../bdi4jade/reasoning/DeliberationFunction.html" title="interface in bdi4jade.reasoning">DeliberationFunction</a> deliberationFunction)</pre>
<div class="block">Sets the deliberation function of this capability.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>deliberationFunction</code> - the deliberationFunction to set.</dd>
</dl>
</li>
</ul>
<a name="setOptionGenerationFunction-bdi4jade.reasoning.OptionGenerationFunction-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOptionGenerationFunction</h4>
<pre>public final void setOptionGenerationFunction(<a href="../../bdi4jade/reasoning/OptionGenerationFunction.html" title="interface in bdi4jade.reasoning">OptionGenerationFunction</a> optionGenerationFunction)</pre>
<div class="block">Sets the option generation function of this capability.</div>
<dl>
<dt><span class="paramLabel">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 final void setPlanSelectionStrategy(<a href="../../bdi4jade/reasoning/PlanSelectionStrategy.html" title="interface in bdi4jade.reasoning">PlanSelectionStrategy</a> planSelectionStrategy)</pre>
<div class="block">Sets the plan selection strategy of this capability.</div>
<dl>
<dt><span class="paramLabel">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. It is used to
initialize the capability. This method is invoked when this capability is
attached to an agent for the first time. 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="takeDown--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>takeDown</h4>
<pre>protected void takeDown()</pre>
<div class="block">This is an empty holder for being overridden by subclasses. It is used to
clean up a capability when it is removed from an agent.</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><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code> in class <code>java.lang.Object</code></dd>
<dt><span class="seeLabel">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>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<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="interface in bdi4jade.core"><span class="typeNameLink">Prev Class</span></a></li>
<li><a href="../../bdi4jade/core/GoalUpdateSet.html" title="class in bdi4jade.core"><span class="typeNameLink">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>