Capability.html

1137 lines | 50.691 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 (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&nbsp;Class</span></a></li>
<li><a href="../../bdi4jade/core/GoalUpdateSet.html" title="class in bdi4jade.core"><span class="typeNameLink">Next&nbsp;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&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All&nbsp;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/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">&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><span class="memberNameLink"><a href="../../bdi4jade/core/Capability.html#beliefBase">beliefBase</a></span></code>&nbsp;</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>&nbsp;</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>&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="memberSummary" 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="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&nbsp;</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>&nbsp;</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&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 with a generated id.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&nbsp;</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&nbsp;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&nbsp;id,
          <a href="../../bdi4jade/belief/BeliefBase.html" title="class in bdi4jade.belief">BeliefBase</a>&nbsp;beliefBase,
          java.util.Set&lt;<a href="../../bdi4jade/belief/Belief.html" title="interface in bdi4jade.belief">Belief</a>&lt;?,?&gt;&gt;&nbsp;initialBeliefs,
          <a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan">PlanLibrary</a>&nbsp;planLibrary,
          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 with the given id, or a generated one if it is
 null.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&nbsp;</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&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 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">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</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&lt;? extends <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&gt;&nbsp;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>&nbsp;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>&nbsp;goal,
                 java.util.Map&lt;<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>,java.util.Set&lt;<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>&gt;&gt;&nbsp;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>&nbsp;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>&nbsp;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&nbsp;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&nbsp;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&lt;<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&gt;</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&lt;<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&gt;</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&lt;? extends <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&gt;&nbsp;owner,
            boolean&nbsp;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&lt;java.lang.Class&lt;? extends <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&gt;&gt;</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&lt;<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&gt;</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>&nbsp;</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>&nbsp;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>&nbsp;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>&nbsp;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>&nbsp;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>&nbsp;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>&nbsp;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>&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, 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&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="planLibrary">
<!--   -->
</a>
<ul class="blockListLast">
<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>
</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 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&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 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&nbsp;Capability(java.lang.String&nbsp;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&nbsp;Capability(java.lang.String&nbsp;id,
                     <a href="../../bdi4jade/belief/BeliefBase.html" title="class in bdi4jade.belief">BeliefBase</a>&nbsp;beliefBase,
                     java.util.Set&lt;<a href="../../bdi4jade/belief/Belief.html" title="interface in bdi4jade.belief">Belief</a>&lt;?,?&gt;&gt;&nbsp;initialBeliefs,
                     <a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan">PlanLibrary</a>&nbsp;planLibrary,
                     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 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&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 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&nbsp;void&nbsp;addAnnotatedFields(java.lang.Class&lt;? extends <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&gt;&nbsp;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&nbsp;void&nbsp;addAssociatedCapability(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&nbsp;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&nbsp;void&nbsp;addCandidatePlans(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;goal,
                              java.util.Map&lt;<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>,java.util.Set&lt;<a href="../../bdi4jade/plan/Plan.html" title="interface in bdi4jade.plan">Plan</a>&gt;&gt;&nbsp;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&nbsp;void&nbsp;addPartCapability(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&nbsp;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&nbsp;boolean&nbsp;canAchieve(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;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&nbsp;boolean&nbsp;canHandle(jade.lang.acl.ACLMessage&nbsp;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&nbsp;boolean&nbsp;equals(java.lang.Object&nbsp;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>&nbsp;in class&nbsp;<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&nbsp;java.util.Set&lt;<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&gt;&nbsp;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&nbsp;<a href="../../bdi4jade/belief/BeliefBase.html" title="class in bdi4jade.belief">BeliefBase</a>&nbsp;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&nbsp;<a href="../../bdi4jade/reasoning/BeliefRevisionStrategy.html" title="interface in bdi4jade.reasoning">BeliefRevisionStrategy</a>&nbsp;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&nbsp;<a href="../../bdi4jade/reasoning/DeliberationFunction.html" title="interface in bdi4jade.reasoning">DeliberationFunction</a>&nbsp;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&nbsp;java.lang.String&nbsp;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&nbsp;java.util.Set&lt;<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&gt;&nbsp;getGoalOwner(java.lang.Class&lt;? extends <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&gt;&nbsp;owner,
                                                    boolean&nbsp;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&nbsp;java.lang.String&nbsp;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&nbsp;<a href="../../bdi4jade/core/BDIAgent.html" title="interface in bdi4jade.core">BDIAgent</a>&nbsp;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&nbsp;<a href="../../bdi4jade/reasoning/OptionGenerationFunction.html" title="interface in bdi4jade.reasoning">OptionGenerationFunction</a>&nbsp;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&nbsp;java.util.List&lt;java.lang.Class&lt;? extends <a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&gt;&gt;&nbsp;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&nbsp;java.util.Set&lt;<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&gt;&nbsp;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&nbsp;<a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan">PlanLibrary</a>&nbsp;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&nbsp;<a href="../../bdi4jade/reasoning/PlanSelectionStrategy.html" title="interface in bdi4jade.reasoning">PlanSelectionStrategy</a>&nbsp;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&nbsp;<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&nbsp;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&nbsp;int&nbsp;hashCode()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>hashCode</code>&nbsp;in class&nbsp;<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&nbsp;void&nbsp;removeAssociatedCapability(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&nbsp;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&nbsp;boolean&nbsp;removePartCapability(<a href="../../bdi4jade/core/Capability.html" title="class in bdi4jade.core">Capability</a>&nbsp;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&nbsp;void&nbsp;setBeliefRevisionStrategy(<a href="../../bdi4jade/reasoning/BeliefRevisionStrategy.html" title="interface in bdi4jade.reasoning">BeliefRevisionStrategy</a>&nbsp;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&nbsp;void&nbsp;setDeliberationFunction(<a href="../../bdi4jade/reasoning/DeliberationFunction.html" title="interface in bdi4jade.reasoning">DeliberationFunction</a>&nbsp;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&nbsp;void&nbsp;setOptionGenerationFunction(<a href="../../bdi4jade/reasoning/OptionGenerationFunction.html" title="interface in bdi4jade.reasoning">OptionGenerationFunction</a>&nbsp;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&nbsp;void&nbsp;setPlanSelectionStrategy(<a href="../../bdi4jade/reasoning/PlanSelectionStrategy.html" title="interface in bdi4jade.reasoning">PlanSelectionStrategy</a>&nbsp;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&nbsp;void&nbsp;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&nbsp;void&nbsp;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&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<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&nbsp;Class</span></a></li>
<li><a href="../../bdi4jade/core/GoalUpdateSet.html" title="class in bdi4jade.core"><span class="typeNameLink">Next&nbsp;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&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All&nbsp;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>