Package jason.stdlib
Class add_plan
java.lang.Object
jason.asSemantics.DefaultInternalAction
jason.stdlib.add_plan
- All Implemented Interfaces:
InternalAction
,Serializable
@Manual(literal=".add_plan(plan[,source,position])",
hint="adds plan(s) to the agent\'s plan library",
argsHint={"the plan term enclosed by { and }","the source of the plan(s) [optional]","the position (begin/end) the plan will be added [optional]"},
argsType={"plan term, string, or list","atom","atom"},
examples={".add_plan({ +b : true <- .print(b) }): adds the plan +b : true <- .print(b). to the agent\'s plan library with source(self)",".add_plan(\"+b : true <- .print(b).\"): adds the plan +b : true <- .print(b). to the agent\'s plan library with source(self)",".add_plan({ +b : true <- .print(b) }, rafa): same, but with source(rafa)",".add_plan({ +b : true <- .print(b) }, rafa, begin): same, but the plan is added at the beginning of the plan library",".add_plan([{+b <- .print(b)}, {+b : bel <- .print(bel)}], rafa): adds both plans with source \"rafa\" and \"self\""},
seeAlso={"jason.stdlib.plan_label","jason.stdlib.relevant_plans","jason.stdlib.remove_plan"})
public class add_plan
extends DefaultInternalAction
Internal action: .add_plan
.
Description: adds plan(s) to the agent's plan library.
Parameters:
- + plan(s) (plan term, string, or list): the plan term follows the
same syntax as AS plans, but are enclosed by { and }
(e.g.
{+!g : vl(X) invalid input: '<'- .print(X)}
). In case this parameter is a string, the code within the string has to follow the syntax of AS plans (e.g."+!g : vl(X) invalid input: '<'- .print(X)."
). If it is a list, each plan term or string in the list will be parsed into an AgentSpeak plan and added to the plan library.
- + source (atom -- optional): the source of the
plan(s). The default value for the source is
self
.
- + position (atom -- optional): if the value is "begin" the plan
will be added in the begin of the plan library.
The default value is
end
.
Examples:
-
.add_plan({ +b : true <- .print(b) })
: adds the plan+b : true <- .print(b).
to the agent's plan library with a plan label annotated withsource(self)
. -
.add_plan("+b : true <- .print(b).")
: adds the plan+b : true <- .print(b).
to the agent's plan library with a plan label annotated withsource(self)
. -
.add_plan({ +b : true <- .print(b) }, rafa)
: same as the previous example, but the source of the plan is agent "rafa". -
.add_plan({ +b : true <- .print(b) }, rafa, begin)
: same as the previous example, but the plan is added at the beginning of the plan library. -
.add_plan([{+b <- .print(b)}, {+b : bel <- .print(bel)}], rafa)
: adds both plans with "rafa" as their source.
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionexecute
(TransitionSystem ts, Unifier un, Term[] args) Executes the internal action.int
int
Methods inherited from class jason.asSemantics.DefaultInternalAction
canBeUsedInContext, checkArguments, destroy, prepareArguments, suspendIntention
-
Constructor Details
-
add_plan
public add_plan()
-
-
Method Details
-
getMinArgs
public int getMinArgs()- Overrides:
getMinArgs
in classDefaultInternalAction
-
getMaxArgs
public int getMaxArgs()- Overrides:
getMaxArgs
in classDefaultInternalAction
-
execute
Description copied from interface:InternalAction
Executes the internal action. It should return a Boolean or an Iterator. A true boolean return means that the IA was successfully executed. An Iterator result means that there is more than one answer for this IA (e.g. see member internal action). - Specified by:
execute
in interfaceInternalAction
- Overrides:
execute
in classDefaultInternalAction
- Throws:
Exception
-