Intention.html

764 lines | 33.356 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>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_17) on Sun Jan 31 23:53:46 EST 2010 -->
<TITLE>
Intention
</TITLE>

<META NAME="date" CONTENT="2010-01-31">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Intention";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Intention.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Capability.html" title="class in br.pucrio.inf.les.bdijade.core"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/PlanLibrary.html" title="class in br.pucrio.inf.les.bdijade.core"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?br/pucrio/inf/les/bdijade/core/Intention.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Intention.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
br.pucrio.inf.les.bdijade.core</FONT>
<BR>
Class Intention</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>br.pucrio.inf.les.bdijade.core.Intention</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>Intention</B><DT>extends java.lang.Object</DL>
</PRE>

<P>
This class represents the intention abstraction from the BDI model. It
 represents a goal that the agent is committed to achieve. It has the
 associated goal and tries to execute plans to achieve it. It keeps a list of
 the executed plans, and after using all plans unsuccessfully, the goal is
 considered unachievable. When a plan fails, the BDI-interpreter cycle may
 invoke the <A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#tryToAchive()"><CODE>tryToAchive()</CODE></A> method again, so the intention tries
 another plan. During its execution, the intention can be set to no longer
 desired.
<P>

<P>
<DL>
<DT><B>Author:</B></DT>
  <DD>ingrid</DD>
</DL>
<HR>

<P>
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/plan/PlanInstance.html" title="class in br.pucrio.inf.les.bdijade.plan">PlanInstance</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#currentPlan">currentPlan</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.util.Set&lt;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/plan/Plan.html" title="class in br.pucrio.inf.les.bdijade.plan">Plan</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#executedPlans">executedPlans</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/Goal.html" title="interface in br.pucrio.inf.les.bdijade.goal">Goal</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#goal">goal</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.util.List&lt;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/event/GoalListener.html" title="interface in br.pucrio.inf.les.bdijade.event">GoalListener</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#goalListeners">goalListeners</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;org.apache.commons.logging.Log</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#log">log</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/BDIAgent.html" title="class in br.pucrio.inf.les.bdijade.core">BDIAgent</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#myAgent">myAgent</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#noLongerDesired">noLongerDesired</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Capability.html" title="class in br.pucrio.inf.les.bdijade.core">Capability</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#owner">owner</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#unachievable">unachievable</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#waiting">waiting</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#Intention(br.pucrio.inf.les.bdijade.core.BDIAgent, br.pucrio.inf.les.bdijade.goal.Goal)">Intention</A></B>(<A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/BDIAgent.html" title="class in br.pucrio.inf.les.bdijade.core">BDIAgent</A>&nbsp;bdiAgent,
          <A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/Goal.html" title="interface in br.pucrio.inf.les.bdijade.goal">Goal</A>&nbsp;goal)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new intention.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#Intention(br.pucrio.inf.les.bdijade.goal.Goal, br.pucrio.inf.les.bdijade.core.BDIAgent, br.pucrio.inf.les.bdijade.core.Capability)">Intention</A></B>(<A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/Goal.html" title="interface in br.pucrio.inf.les.bdijade.goal">Goal</A>&nbsp;goal,
          <A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/BDIAgent.html" title="class in br.pucrio.inf.les.bdijade.core">BDIAgent</A>&nbsp;bdiAgent,
          <A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Capability.html" title="class in br.pucrio.inf.les.bdijade.core">Capability</A>&nbsp;owner)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new intention.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#addGoalListener(br.pucrio.inf.les.bdijade.event.GoalListener)">addGoalListener</A></B>(<A HREF="../../../../../../br/pucrio/inf/les/bdijade/event/GoalListener.html" title="interface in br.pucrio.inf.les.bdijade.event">GoalListener</A>&nbsp;goalListener)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a listener to be notified when the given has achieve its end state.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#dispatchPlan()">dispatchPlan</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dispatches a new plan to try to achieve the intention goal.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#doWait()">doWait</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets this intention to the <A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/GoalStatus.html#WAITING"><CODE>GoalStatus.WAITING</CODE></A> status.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#fireGoalEvent(br.pucrio.inf.les.bdijade.event.GoalEvent)">fireGoalEvent</A></B>(<A HREF="../../../../../../br/pucrio/inf/les/bdijade/event/GoalEvent.html" title="class in br.pucrio.inf.les.bdijade.event">GoalEvent</A>&nbsp;goalEvent)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notify all listeners, if any, about a goal event.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#fireGoalFinishedEvent()">fireGoalFinishedEvent</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fires a goal event when a goal has achieved its end state.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.util.Set&lt;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/plan/Plan.html" title="class in br.pucrio.inf.les.bdijade.plan">Plan</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#getCanAchievePlans()">getCanAchievePlans</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all plans from all capabilities that can achieve the goal.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/Goal.html" title="interface in br.pucrio.inf.les.bdijade.goal">Goal</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#getGoal()">getGoal</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.List&lt;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/event/GoalListener.html" title="interface in br.pucrio.inf.les.bdijade.event">GoalListener</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#getGoalListeners()">getGoalListeners</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/BDIAgent.html" title="class in br.pucrio.inf.les.bdijade.core">BDIAgent</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#getMyAgent()">getMyAgent</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/GoalStatus.html" title="enum in br.pucrio.inf.les.bdijade.goal">GoalStatus</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#getStatus()">getStatus</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current goal status that this capability is committed to
 achieve.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#noLongerDesire()">noLongerDesire</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets this intention as no longer desired.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#removeGoalListener(br.pucrio.inf.les.bdijade.event.GoalListener)">removeGoalListener</A></B>(<A HREF="../../../../../../br/pucrio/inf/les/bdijade/event/GoalListener.html" title="interface in br.pucrio.inf.les.bdijade.event">GoalListener</A>&nbsp;goalListener)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes a goal listener to not be notified about the goal achievement
 anymore.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#tryToAchive()">tryToAchive</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Makes this intention starts to try to achieve the goal.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="currentPlan"><!-- --></A><H3>
currentPlan</H3>
<PRE>
private <A HREF="../../../../../../br/pucrio/inf/les/bdijade/plan/PlanInstance.html" title="class in br.pucrio.inf.les.bdijade.plan">PlanInstance</A> <B>currentPlan</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="executedPlans"><!-- --></A><H3>
executedPlans</H3>
<PRE>
private final java.util.Set&lt;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/plan/Plan.html" title="class in br.pucrio.inf.les.bdijade.plan">Plan</A>&gt; <B>executedPlans</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="goal"><!-- --></A><H3>
goal</H3>
<PRE>
private final <A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/Goal.html" title="interface in br.pucrio.inf.les.bdijade.goal">Goal</A> <B>goal</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="goalListeners"><!-- --></A><H3>
goalListeners</H3>
<PRE>
private final java.util.List&lt;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/event/GoalListener.html" title="interface in br.pucrio.inf.les.bdijade.event">GoalListener</A>&gt; <B>goalListeners</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="log"><!-- --></A><H3>
log</H3>
<PRE>
private final org.apache.commons.logging.Log <B>log</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="myAgent"><!-- --></A><H3>
myAgent</H3>
<PRE>
private final <A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/BDIAgent.html" title="class in br.pucrio.inf.les.bdijade.core">BDIAgent</A> <B>myAgent</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="noLongerDesired"><!-- --></A><H3>
noLongerDesired</H3>
<PRE>
private boolean <B>noLongerDesired</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="owner"><!-- --></A><H3>
owner</H3>
<PRE>
private <A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Capability.html" title="class in br.pucrio.inf.les.bdijade.core">Capability</A> <B>owner</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="unachievable"><!-- --></A><H3>
unachievable</H3>
<PRE>
private boolean <B>unachievable</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="waiting"><!-- --></A><H3>
waiting</H3>
<PRE>
private boolean <B>waiting</B></PRE>
<DL>
<DL>
</DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="Intention(br.pucrio.inf.les.bdijade.core.BDIAgent, br.pucrio.inf.les.bdijade.goal.Goal)"><!-- --></A><H3>
Intention</H3>
<PRE>
public <B>Intention</B>(<A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/BDIAgent.html" title="class in br.pucrio.inf.les.bdijade.core">BDIAgent</A>&nbsp;bdiAgent,
                 <A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/Goal.html" title="interface in br.pucrio.inf.les.bdijade.goal">Goal</A>&nbsp;goal)</PRE>
<DL>
<DD>Creates a new intention. It is associated with an agent and the goal that
 it is committed to achieve.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>goal</CODE> - the goal to be achieved.<DD><CODE>bdiAgent</CODE> - the bdiAgent associated with this intention.</DL>
</DL>
<HR>

<A NAME="Intention(br.pucrio.inf.les.bdijade.goal.Goal, br.pucrio.inf.les.bdijade.core.BDIAgent, br.pucrio.inf.les.bdijade.core.Capability)"><!-- --></A><H3>
Intention</H3>
<PRE>
public <B>Intention</B>(<A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/Goal.html" title="interface in br.pucrio.inf.les.bdijade.goal">Goal</A>&nbsp;goal,
                 <A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/BDIAgent.html" title="class in br.pucrio.inf.les.bdijade.core">BDIAgent</A>&nbsp;bdiAgent,
                 <A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Capability.html" title="class in br.pucrio.inf.les.bdijade.core">Capability</A>&nbsp;owner)</PRE>
<DL>
<DD>Creates a new intention. It is associated with an agent and the goal that
 it is committed to achieve. It also receives a <A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Capability.html" title="class in br.pucrio.inf.les.bdijade.core"><CODE>Capability</CODE></A> as
 parameter indicating the owner of the goal (dispatched the goal).
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>goal</CODE> - the goal to be achieved.<DD><CODE>bdiAgent</CODE> - the bdiAgent associated with this intention.<DD><CODE>owner</CODE> - the Capability that is owner of the goal.</DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="addGoalListener(br.pucrio.inf.les.bdijade.event.GoalListener)"><!-- --></A><H3>
addGoalListener</H3>
<PRE>
public void <B>addGoalListener</B>(<A HREF="../../../../../../br/pucrio/inf/les/bdijade/event/GoalListener.html" title="interface in br.pucrio.inf.les.bdijade.event">GoalListener</A>&nbsp;goalListener)</PRE>
<DL>
<DD>Adds a listener to be notified when the given has achieve its end state.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>goalListener</CODE> - the listener to be notified.</DL>
</DD>
</DL>
<HR>

<A NAME="dispatchPlan()"><!-- --></A><H3>
dispatchPlan</H3>
<PRE>
protected void <B>dispatchPlan</B>()</PRE>
<DL>
<DD>Dispatches a new plan to try to achieve the intention goal. It looks for
 plans that can achieve the goal that were not already tried and then
 starts the plan. If all possible plans were already executed, the
 intention is set to unachievable.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="doWait()"><!-- --></A><H3>
doWait</H3>
<PRE>
public void <B>doWait</B>()</PRE>
<DL>
<DD>Sets this intention to the <A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/GoalStatus.html#WAITING"><CODE>GoalStatus.WAITING</CODE></A> status. It may come
 from the <A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/GoalStatus.html#PLAN_FAILED"><CODE>GoalStatus.PLAN_FAILED</CODE></A> or
 <A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/GoalStatus.html#TRYING_TO_ACHIEVE"><CODE>GoalStatus.TRYING_TO_ACHIEVE</CODE></A> states.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fireGoalEvent(br.pucrio.inf.les.bdijade.event.GoalEvent)"><!-- --></A><H3>
fireGoalEvent</H3>
<PRE>
private void <B>fireGoalEvent</B>(<A HREF="../../../../../../br/pucrio/inf/les/bdijade/event/GoalEvent.html" title="class in br.pucrio.inf.les.bdijade.event">GoalEvent</A>&nbsp;goalEvent)</PRE>
<DL>
<DD>Notify all listeners, if any, about a goal event.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>goalEvent</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="fireGoalFinishedEvent()"><!-- --></A><H3>
fireGoalFinishedEvent</H3>
<PRE>
public void <B>fireGoalFinishedEvent</B>()</PRE>
<DL>
<DD>Fires a goal event when a goal has achieved its end state.
<P>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/GoalStatus.html" title="enum in br.pucrio.inf.les.bdijade.goal"><CODE>GoalStatus</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getCanAchievePlans()"><!-- --></A><H3>
getCanAchievePlans</H3>
<PRE>
private java.util.Set&lt;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/plan/Plan.html" title="class in br.pucrio.inf.les.bdijade.plan">Plan</A>&gt; <B>getCanAchievePlans</B>()</PRE>
<DL>
<DD>Returns all plans from all capabilities that can achieve the goal.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>the set of plans that can achieve the goal.</DL>
</DD>
</DL>
<HR>

<A NAME="getGoal()"><!-- --></A><H3>
getGoal</H3>
<PRE>
public <A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/Goal.html" title="interface in br.pucrio.inf.les.bdijade.goal">Goal</A> <B>getGoal</B>()</PRE>
<DL>
<DD><DL>

<DT><B>Returns:</B><DD>the goal</DL>
</DD>
</DL>
<HR>

<A NAME="getGoalListeners()"><!-- --></A><H3>
getGoalListeners</H3>
<PRE>
public java.util.List&lt;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/event/GoalListener.html" title="interface in br.pucrio.inf.les.bdijade.event">GoalListener</A>&gt; <B>getGoalListeners</B>()</PRE>
<DL>
<DD><DL>

<DT><B>Returns:</B><DD>the goalListeners</DL>
</DD>
</DL>
<HR>

<A NAME="getMyAgent()"><!-- --></A><H3>
getMyAgent</H3>
<PRE>
public <A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/BDIAgent.html" title="class in br.pucrio.inf.les.bdijade.core">BDIAgent</A> <B>getMyAgent</B>()</PRE>
<DL>
<DD><DL>

<DT><B>Returns:</B><DD>the myAgent</DL>
</DD>
</DL>
<HR>

<A NAME="getStatus()"><!-- --></A><H3>
getStatus</H3>
<PRE>
public <A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/GoalStatus.html" title="enum in br.pucrio.inf.les.bdijade.goal">GoalStatus</A> <B>getStatus</B>()</PRE>
<DL>
<DD>Returns the current goal status that this capability is committed to
 achieve.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>the current goal status.<DT><B>See Also:</B><DD><A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/GoalStatus.html" title="enum in br.pucrio.inf.les.bdijade.goal"><CODE>GoalStatus</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="noLongerDesire()"><!-- --></A><H3>
noLongerDesire</H3>
<PRE>
public void <B>noLongerDesire</B>()</PRE>
<DL>
<DD>Sets this intention as no longer desired. It stops the current plan
 execution. It changes the goal status from <A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/GoalStatus.html#WAITING"><CODE>GoalStatus.WAITING</CODE></A>,
 <A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/GoalStatus.html#PLAN_FAILED"><CODE>GoalStatus.PLAN_FAILED</CODE></A> or <A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/GoalStatus.html#TRYING_TO_ACHIEVE"><CODE>GoalStatus.TRYING_TO_ACHIEVE</CODE></A> to
 <A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/GoalStatus.html#NO_LONGER_DESIRED"><CODE>GoalStatus.NO_LONGER_DESIRED</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="removeGoalListener(br.pucrio.inf.les.bdijade.event.GoalListener)"><!-- --></A><H3>
removeGoalListener</H3>
<PRE>
public void <B>removeGoalListener</B>(<A HREF="../../../../../../br/pucrio/inf/les/bdijade/event/GoalListener.html" title="interface in br.pucrio.inf.les.bdijade.event">GoalListener</A>&nbsp;goalListener)</PRE>
<DL>
<DD>Removes a goal listener to not be notified about the goal achievement
 anymore.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>goalListener</CODE> - the goal listener to be removed.</DL>
</DD>
</DL>
<HR>

<A NAME="tryToAchive()"><!-- --></A><H3>
tryToAchive</H3>
<PRE>
public void <B>tryToAchive</B>()</PRE>
<DL>
<DD>Makes this intention starts to try to achieve the goal. It changes the
 goal status from <A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/GoalStatus.html#WAITING"><CODE>GoalStatus.WAITING</CODE></A> or
 <A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/GoalStatus.html#PLAN_FAILED"><CODE>GoalStatus.PLAN_FAILED</CODE></A> to <A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/GoalStatus.html#TRYING_TO_ACHIEVE"><CODE>GoalStatus.TRYING_TO_ACHIEVE</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Intention.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Capability.html" title="class in br.pucrio.inf.les.bdijade.core"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/PlanLibrary.html" title="class in br.pucrio.inf.les.bdijade.core"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?br/pucrio/inf/les/bdijade/core/Intention.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Intention.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>

</BODY>
</HTML>