Plan.html
Home
/
bdi-jade /
doc /
bdi4jade /
plan /
Plan.html
<!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>Plan</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="Plan";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/Plan.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/plan/DefaultPlan.html" title="class in bdi4jade.plan"><span class="typeNameLink">Prev Class</span></a></li>
<li><a href="../../bdi4jade/plan/Plan.EndState.html" title="enum in bdi4jade.plan"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?bdi4jade/plan/Plan.html" target="_top">Frames</a></li>
<li><a href="Plan.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><a href="#nested.class.summary">Nested</a> | </li>
<li>Field | </li>
<li>Constr | </li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li>Field | </li>
<li>Constr | </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.plan</div>
<h2 title="Interface Plan" class="title">Interface Plan</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../bdi4jade/core/MetadataElement.html" title="interface in bdi4jade.core">MetadataElement</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../bdi4jade/plan/AbstractPlan.html" title="class in bdi4jade.plan">AbstractPlan</a>, <a href="../../bdi4jade/plan/DefaultPlan.html" title="class in bdi4jade.plan">DefaultPlan</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">Plan</span>
extends <a href="../../bdi4jade/core/MetadataElement.html" title="interface in bdi4jade.core">MetadataElement</a></pre>
<div class="block">This interfaces represents the plan abstraction. It defines the goals that
the plan can achieve, in which context, and it able to create an instance of
plan body to be executed.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Ingrid Nunes</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Interface and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/plan/Plan.EndState.html" title="enum in bdi4jade.plan">Plan.EndState</a></span></code>
<div class="block">This enumeration represents the possible end states of a plan execution.</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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/plan/Plan.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">Verifies if a given goal can be achieved by this plan.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/plan/Plan.html#canProcess-jade.lang.acl.ACLMessage-">canProcess</a></span>(jade.lang.acl.ACLMessage message)</code>
<div class="block">Verifies if the message can be processed by this plan.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../bdi4jade/plan/planbody/PlanBody.html" title="interface in bdi4jade.plan.planbody">PlanBody</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/plan/Plan.html#createPlanBody--">createPlanBody</a></span>()</code>
<div class="block">Instantiate the plan body of this plan, which is an implementation of the
<a href="../../bdi4jade/plan/planbody/PlanBody.html" title="interface in bdi4jade.plan.planbody"><code>PlanBody</code></a> interface.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/plan/Plan.html#getId--">getId</a></span>()</code>
<div class="block">Returns the id of this plan.</div>
</td>
</tr>
<tr id="i4" 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/plan/Plan.html#getPlanLibrary--">getPlanLibrary</a></span>()</code>
<div class="block">Returns the plan library with which this plan is associated.</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/plan/Plan.html#isContextApplicable-bdi4jade.goal.Goal-">isContextApplicable</a></span>(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a> goal)</code>
<div class="block">Verifies if the current context is valid for this plan execution.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../bdi4jade/plan/Plan.html#setPlanLibrary-bdi4jade.plan.PlanLibrary-">setPlanLibrary</a></span>(<a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan">PlanLibrary</a> planLibrary)</code>
<div class="block">Sets the plan library with which this plan is associated.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.bdi4jade.core.MetadataElement">
<!-- -->
</a>
<h3>Methods inherited from interface bdi4jade.core.<a href="../../bdi4jade/core/MetadataElement.html" title="interface in bdi4jade.core">MetadataElement</a></h3>
<code><a href="../../bdi4jade/core/MetadataElement.html#getMetadata--">getMetadata</a>, <a href="../../bdi4jade/core/MetadataElement.html#getMetadata-java.lang.Object-">getMetadata</a>, <a href="../../bdi4jade/core/MetadataElement.html#hasMetadata-java.lang.Object-">hasMetadata</a>, <a href="../../bdi4jade/core/MetadataElement.html#putMetadata-java.lang.Object-java.lang.Object-">putMetadata</a>, <a href="../../bdi4jade/core/MetadataElement.html#removeMetadata-java.lang.Object-">removeMetadata</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="canAchieve-bdi4jade.goal.Goal-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>canAchieve</h4>
<pre>boolean canAchieve(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a> goal)</pre>
<div class="block">Verifies if a given goal can be achieved by this plan.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>goal</code> - the goal to be verified.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the given goal can be achieved by this plan, false
otherwise.</dd>
</dl>
</li>
</ul>
<a name="canProcess-jade.lang.acl.ACLMessage-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>canProcess</h4>
<pre>boolean canProcess(jade.lang.acl.ACLMessage message)</pre>
<div class="block">Verifies if the message can be processed by this plan.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>message</code> - the message to be checked.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this plan can process the message, false otherwise.</dd>
</dl>
</li>
</ul>
<a name="createPlanBody--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createPlanBody</h4>
<pre><a href="../../bdi4jade/plan/planbody/PlanBody.html" title="interface in bdi4jade.plan.planbody">PlanBody</a> createPlanBody()
throws <a href="../../bdi4jade/exception/PlanInstantiationException.html" title="class in bdi4jade.exception">PlanInstantiationException</a></pre>
<div class="block">Instantiate the plan body of this plan, which is an implementation of the
<a href="../../bdi4jade/plan/planbody/PlanBody.html" title="interface in bdi4jade.plan.planbody"><code>PlanBody</code></a> interface.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the instantiated plan body.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../bdi4jade/exception/PlanInstantiationException.html" title="class in bdi4jade.exception">PlanInstantiationException</a></code> - if an error occurred during the instantiation process.</dd>
</dl>
</li>
</ul>
<a name="getId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getId</h4>
<pre>java.lang.String getId()</pre>
<div class="block">Returns the id of this plan.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the id</dd>
</dl>
</li>
</ul>
<a name="getPlanLibrary--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPlanLibrary</h4>
<pre><a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan">PlanLibrary</a> getPlanLibrary()</pre>
<div class="block">Returns the plan library with which this plan is associated.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the planLibrary.</dd>
</dl>
</li>
</ul>
<a name="isContextApplicable-bdi4jade.goal.Goal-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isContextApplicable</h4>
<pre>boolean isContextApplicable(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a> goal)</pre>
<div class="block">Verifies if the current context is valid for this plan execution.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>goal</code> - the goal to be achieved whose conditions may be tested to
verify the applicability of this plan.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the plan can be executed in the current context, false
otherwise.</dd>
</dl>
</li>
</ul>
<a name="setPlanLibrary-bdi4jade.plan.PlanLibrary-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setPlanLibrary</h4>
<pre>void setPlanLibrary(<a href="../../bdi4jade/plan/PlanLibrary.html" title="class in bdi4jade.plan">PlanLibrary</a> planLibrary)</pre>
<div class="block">Sets the plan library with which this plan is associated.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>planLibrary</code> - the planLibrary to set.</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/Plan.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/plan/DefaultPlan.html" title="class in bdi4jade.plan"><span class="typeNameLink">Prev Class</span></a></li>
<li><a href="../../bdi4jade/plan/Plan.EndState.html" title="enum in bdi4jade.plan"><span class="typeNameLink">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?bdi4jade/plan/Plan.html" target="_top">Frames</a></li>
<li><a href="Plan.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><a href="#nested.class.summary">Nested</a> | </li>
<li>Field | </li>
<li>Constr | </li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
<li>Field | </li>
<li>Constr | </li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>