Class Plan

All Implemented Interfaces:
LogicalFormula, Term, ToDOM, ToJson, java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<Term>

public class Plan
extends Structure
implements java.lang.Cloneable, java.io.Serializable
Represents an AgentSpeak plan (it extends structure to be used as a term)
See Also:
Serialized Form
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
      Constant Field Values
    • TAtomic

      private static final Term TAtomic
    • TBreakPoint

      private static final Term TBreakPoint
    • TAllUnifs

      private static final Term TAllUnifs
    • logger

      private static java.util.logging.Logger logger
    • label

      private Pred label
    • tevent

      private Trigger tevent
    • context

      private LogicalFormula context
    • body

      private PlanBody body
    • goalCondition

      private LogicalFormula goalCondition
    • subplans

      private PlanLibrary subplans
    • scope

      private PlanLibrary scope
    • isAtomic

      private boolean isAtomic
    • isAllUnifs

      private boolean isAllUnifs
    • hasBreakpoint

      private boolean hasBreakpoint
    • isTerm

      private boolean isTerm
    • source

      private java.lang.String source
    • noLabelAtom

      private static final Term noLabelAtom
  • Constructor Details

  • Method Details

    • getArity

      public int getArity()
      Description copied from class: Literal
      returns the number of terms of this literal
      Overrides:
      getArity in class Structure
    • setSourceFile

      public void setSourceFile​(java.lang.String f)
    • getSourceFile

      public java.lang.String getSourceFile()
    • getFile

      @Deprecated public java.lang.String getFile()
      Deprecated.
    • getTerm

      public Term getTerm​(int i)
      Description copied from class: Literal
      returns the i-th term (first term is 0)
      Overrides:
      getTerm in class Structure
    • setTerm

      public void setTerm​(int i, Term t)
      Overrides:
      setTerm in class Structure
    • setLabel

      public void setLabel​(Pred p)
    • getLabel

      public Pred getLabel()
    • delLabel

      public void delLabel()
    • setContext

      public void setContext​(LogicalFormula le)
    • setAsPlanTerm

      public void setAsPlanTerm​(boolean b)
    • isPlanTerm

      public boolean isPlanTerm()
    • getAsListOfTerms

      public ListTerm getAsListOfTerms()
      Description copied from class: Literal
      returns this literal as a list with three elements: [namespace, functor, list of terms, list of annots]
      Overrides:
      getAsListOfTerms in class Literal
    • newFromListOfTerms

      public static Plan newFromListOfTerms​(ListTerm lt) throws JasonException
      creates a plan from a list with four elements: [L, T, C, B]
      Throws:
      JasonException
    • parse

      public static Plan parse​(java.lang.String sPlan)
      prefer using ASSyntax.parsePlan
    • getTriggerEvent

      @Deprecated public Trigger getTriggerEvent()
      Deprecated.
      use getTrigger
    • getTrigger

      public Trigger getTrigger()
    • getContext

      public LogicalFormula getContext()
    • getBody

      public PlanBody getBody()
    • isAtomic

      public boolean isAtomic()
    • hasBreakpoint

      public boolean hasBreakpoint()
    • isAllUnifs

      public boolean isAllUnifs()
    • isRelevant

      public Unifier isRelevant​(Trigger te, Unifier u)
      returns an unifier if this plan is relevant for the event te, returns null otherwise.
    • equals

      public boolean equals​(java.lang.Object o)
      Specified by:
      equals in interface Term
      Overrides:
      equals in class Structure
    • capply

      public Plan capply​(Unifier u)
      Description copied from interface: Term
      clone and applies together (and faster than clone and then apply)
      Specified by:
      capply in interface Term
      Overrides:
      capply in class Structure
    • clone

      public Term clone()
      Description copied from class: Structure
      make a deep copy of the terms
      Specified by:
      clone in interface Term
      Overrides:
      clone in class Structure
    • cloneNS

      public Plan cloneNS​(Atom ns)
      Description copied from interface: Term
      clone in another namespace
      Specified by:
      cloneNS in interface Term
      Overrides:
      cloneNS in class Structure
    • cloneOnlyBody

      public Plan cloneOnlyBody()
      used to create a plan clone in a new IM
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class Structure
    • toASString

      public java.lang.String toASString()
      returns this plan in a string complaint with AS syntax
    • getAsDOM

      public org.w3c.dom.Element getAsDOM​(org.w3c.dom.Document document)
      get as XML
      Specified by:
      getAsDOM in interface ToDOM
      Overrides:
      getAsDOM in class Structure
    • addSubPlan

      public void addSubPlan​(Plan p) throws JasonException
      Throws:
      JasonException
    • hasSubPlans

      public boolean hasSubPlans()
    • hasInterestInUpdateEvents

      public boolean hasInterestInUpdateEvents()
    • getSubPlans

      public PlanLibrary getSubPlans()
    • setScope

      public void setScope​(PlanLibrary pl)
    • getScope

      public PlanLibrary getScope()
    • setGoalCondition

      public void setGoalCondition​(LogicalFormula f)
    • getGoalCondition

      public LogicalFormula getGoalCondition()
    • hasGoalCondition

      public boolean hasGoalCondition()