Intention.html
Home
/
bdi-jade /
doc /
br /
pucrio /
inf /
les /
bdijade /
core /
Intention.html
<!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> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Intention.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Capability.html" title="class in br.pucrio.inf.les.bdijade.core"><B>PREV CLASS</B></A>
<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>
<A HREF="Intention.html" target="_top"><B>NO FRAMES</B></A>
<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <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 <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>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private java.util.Set<<A HREF="../../../../../../br/pucrio/inf/les/bdijade/plan/Plan.html" title="class in br.pucrio.inf.les.bdijade.plan">Plan</A>></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#executedPlans">executedPlans</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private <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>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private java.util.List<<A HREF="../../../../../../br/pucrio/inf/les/bdijade/event/GoalListener.html" title="interface in br.pucrio.inf.les.bdijade.event">GoalListener</A>></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#goalListeners">goalListeners</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private 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>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private <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>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#noLongerDesired">noLongerDesired</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private <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>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#unachievable">unachievable</A></B></CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#waiting">waiting</A></B></CODE>
<BR>
</TD>
</TR>
</TABLE>
<!-- ======== 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> bdiAgent,
<A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/Goal.html" title="interface in br.pucrio.inf.les.bdijade.goal">Goal</A> goal)</CODE>
<BR>
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> goal,
<A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/BDIAgent.html" title="class in br.pucrio.inf.les.bdijade.core">BDIAgent</A> bdiAgent,
<A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Capability.html" title="class in br.pucrio.inf.les.bdijade.core">Capability</A> owner)</CODE>
<BR>
Creates a new intention.</TD>
</TR>
</TABLE>
<!-- ========== 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> 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> goalListener)</CODE>
<BR>
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 void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#dispatchPlan()">dispatchPlan</A></B>()</CODE>
<BR>
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> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#doWait()">doWait</A></B>()</CODE>
<BR>
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 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> goalEvent)</CODE>
<BR>
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> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#fireGoalFinishedEvent()">fireGoalFinishedEvent</A></B>()</CODE>
<BR>
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 java.util.Set<<A HREF="../../../../../../br/pucrio/inf/les/bdijade/plan/Plan.html" title="class in br.pucrio.inf.les.bdijade.plan">Plan</A>></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#getCanAchievePlans()">getCanAchievePlans</A></B>()</CODE>
<BR>
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> <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>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> java.util.List<<A HREF="../../../../../../br/pucrio/inf/les/bdijade/event/GoalListener.html" title="interface in br.pucrio.inf.les.bdijade.event">GoalListener</A>></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#getGoalListeners()">getGoalListeners</A></B>()</CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> <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>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> <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>
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> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#noLongerDesire()">noLongerDesire</A></B>()</CODE>
<BR>
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> 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> goalListener)</CODE>
<BR>
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> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Intention.html#tryToAchive()">tryToAchive</A></B>()</CODE>
<BR>
Makes this intention starts to try to achieve the goal.</TD>
</TR>
</TABLE>
<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>
<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<<A HREF="../../../../../../br/pucrio/inf/les/bdijade/plan/Plan.html" title="class in br.pucrio.inf.les.bdijade.plan">Plan</A>> <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<<A HREF="../../../../../../br/pucrio/inf/les/bdijade/event/GoalListener.html" title="interface in br.pucrio.inf.les.bdijade.event">GoalListener</A>> <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> bdiAgent,
<A HREF="../../../../../../br/pucrio/inf/les/bdijade/goal/Goal.html" title="interface in br.pucrio.inf.les.bdijade.goal">Goal</A> 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> goal,
<A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/BDIAgent.html" title="class in br.pucrio.inf.les.bdijade.core">BDIAgent</A> bdiAgent,
<A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Capability.html" title="class in br.pucrio.inf.les.bdijade.core">Capability</A> 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> 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> 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<<A HREF="../../../../../../br/pucrio/inf/les/bdijade/plan/Plan.html" title="class in br.pucrio.inf.les.bdijade.plan">Plan</A>> <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<<A HREF="../../../../../../br/pucrio/inf/les/bdijade/event/GoalListener.html" title="interface in br.pucrio.inf.les.bdijade.event">GoalListener</A>> <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> 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> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Intention.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../br/pucrio/inf/les/bdijade/core/Capability.html" title="class in br.pucrio.inf.les.bdijade.core"><B>PREV CLASS</B></A>
<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>
<A HREF="Intention.html" target="_top"><B>NO FRAMES</B></A>
<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: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>