PlanInstance.html

585 lines | 26.747 kB Blame History Raw Download
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_25) on Thu Jan 09 01:28:39 BRST 2014 -->
<title>PlanInstance</title>
<meta name="date" content="2014-01-09">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="PlanInstance";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/PlanInstance.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/PlanGoalDependency.html" title="class in bdi4jade.plan"><span class="strong">Prev Class</span></a></li>
<li><a href="../../bdi4jade/plan/PlanInstance.EndState.html" title="enum in bdi4jade.plan"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?bdi4jade/plan/PlanInstance.html" target="_top">Frames</a></li>
<li><a href="PlanInstance.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&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>Field&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.plan</div>
<h2 title="Class PlanInstance" class="title">Class PlanInstance</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>bdi4jade.plan.PlanInstance</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../bdi4jade/event/GoalListener.html" title="interface in bdi4jade.event">GoalListener</a>, java.util.EventListener</dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">PlanInstance</span>
extends java.lang.Object
implements <a href="../../bdi4jade/event/GoalListener.html" title="interface in bdi4jade.event">GoalListener</a></pre>
<div class="block">This class represents a plan that has been instantiated to be executed, with
 an associated plan body (a behavior).</div>
<dl><dt><span class="strong">Author:</span></dt>
  <dd>ingrid</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="overviewSummary" 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">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.EndState.html" title="enum in bdi4jade.plan">PlanInstance.EndState</a></strong></code>
<div class="block">This enumuration represents the possible end states of a plan execution.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#PlanInstance(bdi4jade.plan.Plan, bdi4jade.core.Intention)">PlanInstance</a></strong>(<a href="../../bdi4jade/plan/Plan.html" title="class in bdi4jade.plan">Plan</a>&nbsp;plan,
            <a href="../../bdi4jade/core/Intention.html" title="class in bdi4jade.core">Intention</a>&nbsp;intention)</code>
<div class="block">Creates a new plan instance.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#dispatchGoal(bdi4jade.goal.Goal)">dispatchGoal</a></strong>(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;goal)</code>
<div class="block">Dispatches a goal to be achieved.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#dispatchProtectedGoal(bdi4jade.goal.Goal)">dispatchProtectedGoal</a></strong>(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;goal)</code>
<div class="block">Dispatches a goal to be achieved, using the capability (or its children
 capabilities) associated with the plan.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#dispatchProtectedSubgoal(bdi4jade.goal.Goal)">dispatchProtectedSubgoal</a></strong>(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;subgoal)</code>
<div class="block">Dispatches a subgoal to be achieved, using the capability (or its
 children capabilities) associated with the plan.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#dispatchProtectedSubgoalAndListen(bdi4jade.goal.Goal)">dispatchProtectedSubgoalAndListen</a></strong>(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;subgoal)</code>
<div class="block">Dispatches a subgoal to be achieved, using the capability (or its
 children capabilities) associated with the plan, and registers itself as
 a listener to receive a notification of the end of execution of the goal.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#dispatchSubgoal(bdi4jade.goal.Goal)">dispatchSubgoal</a></strong>(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;subgoal)</code>
<div class="block">Dispatches a subgoal to be achieved.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#dispatchSubgoalAndListen(bdi4jade.goal.Goal)">dispatchSubgoalAndListen</a></strong>(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;subgoal)</code>
<div class="block">Dispatches a subgoal to be achieved and registers itself as a listener to
 receive a notification of the end of execution of the goal.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../bdi4jade/core/BeliefBase.html" title="class in bdi4jade.core">BeliefBase</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#getBeliefBase()">getBeliefBase</a></strong>()</code>
<div class="block">Returns the belief base of the capability.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../bdi4jade/plan/PlanInstance.EndState.html" title="enum in bdi4jade.plan">PlanInstance.EndState</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#getEndState()">getEndState</a></strong>()</code>
<div class="block">Returns the end state of plan.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#getGoal()">getGoal</a></strong>()</code>
<div class="block">Returns the goal to be achieved by this plan instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../bdi4jade/event/GoalFinishedEvent.html" title="class in bdi4jade.event">GoalFinishedEvent</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#getGoalEvent()">getGoalEvent</a></strong>()</code>
<div class="block">Returns a goal event from the queue.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../bdi4jade/event/GoalFinishedEvent.html" title="class in bdi4jade.event">GoalFinishedEvent</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#getGoalEvent(boolean)">getGoalEvent</a></strong>(boolean&nbsp;block)</code>
<div class="block">Returns a goal event from the queue.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../bdi4jade/event/GoalFinishedEvent.html" title="class in bdi4jade.event">GoalFinishedEvent</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#getGoalEvent(long)">getGoalEvent</a></strong>(long&nbsp;ms)</code>
<div class="block">Returns a goal event from the queue.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../bdi4jade/plan/Plan.html" title="class in bdi4jade.plan">Plan</a></code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#getPlan()">getPlan</a></strong>()</code>
<div class="block">Returns the <a href="../../bdi4jade/plan/Plan.html" title="class in bdi4jade.plan"><code>Plan</code></a> that is associated with this plan instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#goalPerformed(bdi4jade.event.GoalEvent)">goalPerformed</a></strong>(<a href="../../bdi4jade/event/GoalEvent.html" title="class in bdi4jade.event">GoalEvent</a>&nbsp;event)</code>
<div class="block">Notifies the listener that the goal was performed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#startPlan()">startPlan</a></strong>()</code>
<div class="block">Starts the plan body, a <code>Behaviour</code>, associated with this plan.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../bdi4jade/plan/PlanInstance.html#stopPlan()">stopPlan</a></strong>()</code>
<div class="block">Stops the plan body, a <code>Behaviour</code>, associated with this plan.</div>
</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>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="PlanInstance(bdi4jade.plan.Plan, bdi4jade.core.Intention)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PlanInstance</h4>
<pre>public&nbsp;PlanInstance(<a href="../../bdi4jade/plan/Plan.html" title="class in bdi4jade.plan">Plan</a>&nbsp;plan,
            <a href="../../bdi4jade/core/Intention.html" title="class in bdi4jade.core">Intention</a>&nbsp;intention)
             throws <a href="../../bdi4jade/exception/PlanInstantiationException.html" title="class in bdi4jade.exception">PlanInstantiationException</a></pre>
<div class="block">Creates a new plan instance. It is associated with a plan definition (
 <a href="../../bdi4jade/plan/Plan.html" title="class in bdi4jade.plan"><code>Plan</code></a>) and an <a href="../../bdi4jade/core/Intention.html" title="class in bdi4jade.core"><code>Intention</code></a>. It creates an instance of the
 plan body defined in the plan and throws an exception if an error occurs
 in this process.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>plan</code> - the plan associated this this plan instance.</dd><dd><code>intention</code> - the intention that this plan instance have to achieve.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>PlanBodyInstantiationException</code> - in an error occurred during the instantiation.</dd>
<dd><code><a href="../../bdi4jade/exception/PlanInstantiationException.html" title="class in bdi4jade.exception">PlanInstantiationException</a></code></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="dispatchProtectedGoal(bdi4jade.goal.Goal)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dispatchProtectedGoal</h4>
<pre>public&nbsp;void&nbsp;dispatchProtectedGoal(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;goal)</pre>
<div class="block">Dispatches a goal to be achieved, using the capability (or its children
 capabilities) associated with the plan.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>goal</code> - the goal to be dispatched.</dd></dl>
</li>
</ul>
<a name="dispatchProtectedSubgoal(bdi4jade.goal.Goal)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dispatchProtectedSubgoal</h4>
<pre>public&nbsp;void&nbsp;dispatchProtectedSubgoal(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;subgoal)</pre>
<div class="block">Dispatches a subgoal to be achieved, using the capability (or its
 children capabilities) associated with the plan.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>subgoal</code> - the subgoal to be dispatched.</dd></dl>
</li>
</ul>
<a name="dispatchProtectedSubgoalAndListen(bdi4jade.goal.Goal)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dispatchProtectedSubgoalAndListen</h4>
<pre>public&nbsp;void&nbsp;dispatchProtectedSubgoalAndListen(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;subgoal)</pre>
<div class="block">Dispatches a subgoal to be achieved, using the capability (or its
 children capabilities) associated with the plan, and registers itself as
 a listener to receive a notification of the end of execution of the goal.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>subgoal</code> - the subgoal to be dispatched.</dd></dl>
</li>
</ul>
<a name="dispatchGoal(bdi4jade.goal.Goal)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dispatchGoal</h4>
<pre>public&nbsp;void&nbsp;dispatchGoal(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;goal)</pre>
<div class="block">Dispatches a goal to be achieved.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>goal</code> - the goal to be dispatched.</dd></dl>
</li>
</ul>
<a name="dispatchSubgoal(bdi4jade.goal.Goal)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dispatchSubgoal</h4>
<pre>public&nbsp;void&nbsp;dispatchSubgoal(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;subgoal)</pre>
<div class="block">Dispatches a subgoal to be achieved.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>subgoal</code> - the subgoal to be dispatched.</dd></dl>
</li>
</ul>
<a name="dispatchSubgoalAndListen(bdi4jade.goal.Goal)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dispatchSubgoalAndListen</h4>
<pre>public&nbsp;void&nbsp;dispatchSubgoalAndListen(<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;subgoal)</pre>
<div class="block">Dispatches a subgoal to be achieved and registers itself as a listener to
 receive a notification of the end of execution of the goal.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>subgoal</code> - the subgoal to be dispatched.</dd></dl>
</li>
</ul>
<a name="getBeliefBase()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBeliefBase</h4>
<pre>public&nbsp;<a href="../../bdi4jade/core/BeliefBase.html" title="class in bdi4jade.core">BeliefBase</a>&nbsp;getBeliefBase()</pre>
<div class="block">Returns the belief base of the capability.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the belief base containing the beliefs.</dd></dl>
</li>
</ul>
<a name="getEndState()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEndState</h4>
<pre>public&nbsp;<a href="../../bdi4jade/plan/PlanInstance.EndState.html" title="enum in bdi4jade.plan">PlanInstance.EndState</a>&nbsp;getEndState()</pre>
<div class="block">Returns the end state of plan. A null value means that the plan is still
 in execution. If the plan body has come to an end state, it invokes the
 method to set the output parameters of the goal, in case the plan body
 implements the <a href="../../bdi4jade/plan/OutputPlanBody.html" title="interface in bdi4jade.plan"><code>OutputPlanBody</code></a> interface (this is invoked only
 once). If the plan body has come to a failed state, it sets all of its
 subgoals as no longer desired.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the end state of the plan.</dd></dl>
</li>
</ul>
<a name="getGoal()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGoal</h4>
<pre>public&nbsp;<a href="../../bdi4jade/goal/Goal.html" title="interface in bdi4jade.goal">Goal</a>&nbsp;getGoal()</pre>
<div class="block">Returns the goal to be achieved by this plan instance.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the goal.</dd></dl>
</li>
</ul>
<a name="getGoalEvent()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGoalEvent</h4>
<pre>public&nbsp;<a href="../../bdi4jade/event/GoalFinishedEvent.html" title="class in bdi4jade.event">GoalFinishedEvent</a>&nbsp;getGoalEvent()</pre>
<div class="block">Returns a goal event from the queue. If the queue is empty, the behavior
 associated with this plan instance is blocked.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the goal event or null if the queue is empty.</dd></dl>
</li>
</ul>
<a name="getGoalEvent(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGoalEvent</h4>
<pre>public&nbsp;<a href="../../bdi4jade/event/GoalFinishedEvent.html" title="class in bdi4jade.event">GoalFinishedEvent</a>&nbsp;getGoalEvent(boolean&nbsp;block)</pre>
<div class="block">Returns a goal event from the queue. If the queue is empty, the behavior
 associated with this plan instance is going to be blocked if the
 parameter passed to this method is true.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>block</code> - true if the behavior must be blocked if the queue is empty.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the goal event or null if the queue is empty.</dd></dl>
</li>
</ul>
<a name="getGoalEvent(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGoalEvent</h4>
<pre>public&nbsp;<a href="../../bdi4jade/event/GoalFinishedEvent.html" title="class in bdi4jade.event">GoalFinishedEvent</a>&nbsp;getGoalEvent(long&nbsp;ms)</pre>
<div class="block">Returns a goal event from the queue. If the queue is empty, the behavior
 associated with this plan instance is going to be blocked for the
 specified milliseconds.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ms</code> - the maximum amount of time that the behavior must be blocked.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the goal event or null if the queue is empty.</dd></dl>
</li>
</ul>
<a name="getPlan()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPlan</h4>
<pre>public&nbsp;<a href="../../bdi4jade/plan/Plan.html" title="class in bdi4jade.plan">Plan</a>&nbsp;getPlan()</pre>
<div class="block">Returns the <a href="../../bdi4jade/plan/Plan.html" title="class in bdi4jade.plan"><code>Plan</code></a> that is associated with this plan instance.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the plan.</dd></dl>
</li>
</ul>
<a name="goalPerformed(bdi4jade.event.GoalEvent)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>goalPerformed</h4>
<pre>public&nbsp;void&nbsp;goalPerformed(<a href="../../bdi4jade/event/GoalEvent.html" title="class in bdi4jade.event">GoalEvent</a>&nbsp;event)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../bdi4jade/event/GoalListener.html#goalPerformed(bdi4jade.event.GoalEvent)">GoalListener</a></code></strong></div>
<div class="block">Notifies the listener that the goal was performed.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../bdi4jade/event/GoalListener.html#goalPerformed(bdi4jade.event.GoalEvent)">goalPerformed</a></code>&nbsp;in interface&nbsp;<code><a href="../../bdi4jade/event/GoalListener.html" title="interface in bdi4jade.event">GoalListener</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>event</code> - the performed goal event.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../bdi4jade/event/GoalListener.html#goalPerformed(bdi4jade.event.GoalEvent)"><code>GoalListener.goalPerformed(bdi4jade.event.GoalEvent)</code></a></dd></dl>
</li>
</ul>
<a name="startPlan()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startPlan</h4>
<pre>public&nbsp;void&nbsp;startPlan()</pre>
<div class="block">Starts the plan body, a <code>Behaviour</code>, associated with this plan.</div>
</li>
</ul>
<a name="stopPlan()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>stopPlan</h4>
<pre>public&nbsp;void&nbsp;stopPlan()</pre>
<div class="block">Stops the plan body, a <code>Behaviour</code>, associated with this plan. If
 the body implements the <a href="../../bdi4jade/plan/DisposablePlanBody.html" title="interface in bdi4jade.plan"><code>DisposablePlanBody</code></a>, it invokes the method
 to about the plan body, so it can perform finalizations.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/PlanInstance.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/PlanGoalDependency.html" title="class in bdi4jade.plan"><span class="strong">Prev Class</span></a></li>
<li><a href="../../bdi4jade/plan/PlanInstance.EndState.html" title="enum in bdi4jade.plan"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?bdi4jade/plan/PlanInstance.html" target="_top">Frames</a></li>
<li><a href="PlanInstance.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&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>Field&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>