Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## jason.stdlib
Class add_plan

    java.lang.Object
      jason.asSemantics.DefaultInternalAction
          jason.stdlib.add_plan

All Implemented Interfaces:
  InternalAction, java.io.Serializable

    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) <- .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) <- .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`.

Note that if only two parameter is informed, the second will be the source and not the position.

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 with `source(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 with `source(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 in the begin of the plan library.
- `.add_plan([{+b <- .print(b)}, {+b : bel <- .print(bel)}], rafa)`: adds both plans with "rafa" as their sources.

See Also:
  `plan_label`, `relevant_plans`, `remove_plan`, Serialized Form

Constructor Summary
`add_plan()`

Method Summary
`java.lang.Object` | `execute(TransitionSystem ts, Unifier un, Term[] args)` Executes the internal action.
`int` | `getMaxArgs()`
`int` | `getMinArgs()`

Methods inherited from class jason.asSemantics.DefaultInternalAction
`canBeUsedInContext, checkArguments, prepareArguments, suspendIntention`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### add_plan

    public add_plan()

Method Detail

### getMinArgs

    public int getMinArgs()

  Overrides:
    `getMinArgs` in class `DefaultInternalAction`

### getMaxArgs

    public int getMaxArgs()

  Overrides:
    `getMaxArgs` in class `DefaultInternalAction`

### execute

    public java.lang.Object execute(TransitionSystem ts,
                                    Unifier un,
                                    Term[] args)
                             throws java.lang.Exception

  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 interface `InternalAction`
  Overrides:
    `execute` in class `DefaultInternalAction`
  Throws:
    `java.lang.Exception`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD