Modifier and Type | Field and Description |
---|---|
private boolean |
hasMetaEventPlans |
private boolean |
hasUserKqmlReceived |
private java.lang.String |
kqmlReceivedFunctor |
private static java.util.concurrent.atomic.AtomicInteger |
lastPlanLabel |
private java.lang.Object |
lockPL |
private java.util.Map<java.lang.String,Plan> |
planLabels
A map from labels to plans
|
private java.util.List<Plan> |
plans
All plans as defined in the AS code (maintains the order of the plans)
|
private java.util.Map<PredicateIndicator,java.util.List<Plan>> |
relPlans
a MAP from TE to a list of relevant plans
|
static Trigger |
TE_JAG_AWAKING |
static Trigger |
TE_JAG_SLEEPING |
private java.util.List<Plan> |
varPlans
list of plans that have var as TE
|
Constructor and Description |
---|
PlanLibrary() |
Modifier and Type | Method and Description |
---|---|
void |
add(Plan p) |
void |
add(Plan p,
boolean before)
Adds a plan into the plan library, either before or after all other
plans depending on the boolean parameter.
|
Plan |
add(Plan p,
Term source,
boolean before)
Add a new plan in PL.
|
Plan |
add(StringTerm stPlan,
Term tSource)
Deprecated.
parse the plan before (ASSyntax methods) and call add(Plan, ...) methods
|
Plan |
add(StringTerm stPlan,
Term tSource,
boolean before)
Deprecated.
parse the plan before (ASSyntax methods) and call add(Plan, ...) methods
|
void |
addAll(java.util.List<Plan> plans) |
void |
addAll(PlanLibrary pl) |
void |
clear()
remove all plans
|
PlanLibrary |
clone() |
Plan |
get(Atom label)
return a plan for a label
|
Plan |
get(java.lang.String label)
return a plan for a label
|
java.util.List<Plan> |
getAllRelevant(Trigger te)
Deprecated.
use getCandidatePlans(te) instead
|
org.w3c.dom.Element |
getAsDOM(org.w3c.dom.Document document)
get as XML
|
java.util.List<Plan> |
getCandidatePlans(Trigger te) |
java.lang.Object |
getLock() |
java.util.List<Plan> |
getPlans() |
private java.lang.String |
getStringForLabel(Atom p) |
private Pred |
getUniqueLabel()
add a label to the plan
|
boolean |
hasCandidatePlan(Trigger te) |
boolean |
hasMetaEventPlans() |
boolean |
hasUserKqmlReceivedPlans() |
boolean |
isRelevant(Trigger te)
Deprecated.
use hasCandidatePlan(te) instead
|
java.util.Iterator<Plan> |
iterator() |
Plan |
remove(Atom pLabel)
remove the plan with label pLabel
|
boolean |
remove(Atom pLabel,
Term source)
Remove a plan represented by the label pLabel.
|
int |
size() |
java.lang.String |
toString() |
private java.util.Map<PredicateIndicator,java.util.List<Plan>> relPlans
private java.util.List<Plan> plans
private java.util.List<Plan> varPlans
private java.util.Map<java.lang.String,Plan> planLabels
private boolean hasMetaEventPlans
private static java.util.concurrent.atomic.AtomicInteger lastPlanLabel
private boolean hasUserKqmlReceived
private final java.lang.Object lockPL
private final java.lang.String kqmlReceivedFunctor
public static final Trigger TE_JAG_SLEEPING
public static final Trigger TE_JAG_AWAKING
public java.lang.Object getLock()
public Plan add(StringTerm stPlan, Term tSource) throws ParseException, JasonException
ParseException
JasonException
public Plan add(StringTerm stPlan, Term tSource, boolean before) throws ParseException, JasonException
ParseException
JasonException
public Plan add(Plan p, Term source, boolean before) throws JasonException
JasonException
public void add(Plan p) throws JasonException
JasonException
public void add(Plan p, boolean before) throws JasonException
p
- The plan to be added to the plan librarybefore
- Whether or not to place the new plan before othersJasonException
public void addAll(PlanLibrary pl) throws JasonException
JasonException
public void addAll(java.util.List<Plan> plans) throws JasonException
JasonException
private java.lang.String getStringForLabel(Atom p)
public boolean hasMetaEventPlans()
public boolean hasUserKqmlReceivedPlans()
private Pred getUniqueLabel()
public Plan get(java.lang.String label)
public int size()
public java.util.List<Plan> getPlans()
public java.util.Iterator<Plan> iterator()
iterator
in interface java.lang.Iterable<Plan>
public void clear()
public boolean remove(Atom pLabel, Term source)
public boolean isRelevant(Trigger te)
public boolean hasCandidatePlan(Trigger te)
public java.util.List<Plan> getAllRelevant(Trigger te)
public PlanLibrary clone()
clone
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public org.w3c.dom.Element getAsDOM(org.w3c.dom.Document document)