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 if_then_else

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

All Implemented Interfaces:
  InternalAction, java.io.Serializable

    public class if_then_else

extends DefaultInternalAction

Implementation of if.

Syntax:

      if ( logical formula ) {
         plan_body1
      [ } else { plan_body2 ]
      }

if logical formula holds, plan_body1 is executed; otherwise, plan_body2 is executed.

Example:

    +event : context
      <- ....
         if (vl(X) & X > 10) { // where vl(X) is a belief
           .print("value > 10");
         }
         ....

The unification is changed by the evaluation of the logical formula, i.e., X might have a value after if.

See Also:
  Serialized Form

Constructor Summary
`if_then_else()`

Method Summary
`protected void` | `checkArguments(Term[] args)`
`static InternalAction` | `create()`
`java.lang.Object` | `execute(TransitionSystem ts, Unifier un, Term[] args)` Executes the internal action.
`int` | `getMaxArgs()`
`int` | `getMinArgs()`
`Term[]` | `prepareArguments(Literal body, Unifier un)` Prepare body's terms to be used in 'execute', normally it consist of cloning and applying each term

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

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

Constructor Detail

### if_then_else

    public if_then_else()

Method Detail

### create

    public static InternalAction create()

### prepareArguments

    public Term[] prepareArguments(Literal body,
                                   Unifier un)

  Description copied from interface: `InternalAction`
  Prepare body's terms to be used in 'execute', normally it consist of cloning and applying each term

  Specified by:
    `prepareArguments` in interface `InternalAction`
  Overrides:
    `prepareArguments` in class `DefaultInternalAction`

### getMinArgs

    public int getMinArgs()

  Overrides:
    `getMinArgs` in class `DefaultInternalAction`

### getMaxArgs

    public int getMaxArgs()

  Overrides:
    `getMaxArgs` in class `DefaultInternalAction`

### checkArguments

    protected void checkArguments(Term[] args)
                           throws JasonException

  Overrides:
    `checkArguments` in class `DefaultInternalAction`
  Throws:
    `JasonException`

### 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