EmbASP-Java
Plan.java
1 package it.unical.mat.embasp.languages.pddl;
2 
3 import java.lang.reflect.InvocationTargetException;
4 import java.util.ArrayList;
5 import java.util.Collections;
6 import java.util.List;
7 
8 import it.unical.mat.embasp.base.Output;
9 import it.unical.mat.parsers.pddl.PDDLDataCollection;
10 
13 public abstract class Plan extends Output implements PDDLDataCollection {
14  protected List<Action> actionSequence;
15 
16  private List<Object> actionsObjects;
17 
18  public Plan(final String plan, final String error) {
19  super(plan, error);
20  }
21 
22  public List<Action> getActions() {
23  if (actionSequence == null) {
24  actionSequence = new ArrayList<>();
25  parse();
26  }
27 
28  return Collections.unmodifiableList(actionSequence);
29  }
30 
31  public List<Object> getActionsObjects() throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {
32  if(actionsObjects == null) {
33  actionsObjects = new ArrayList <> ();
34 
35  for(final Action action : getActions()) {
36  final Object obj = PDDLMapper.getInstance().getObject(action.getName());
37 
38  if (obj != null)
39  actionsObjects.add(obj);
40  }
41  }
42 
43  return actionsObjects;
44  }
45 
46  @Override
47  public void storeAction(final String action) {
48  actionSequence.add(new Action(action));
49  }
50 }
it.unical.mat.embasp.languages.pddl.Plan
Definition: Plan.java:13
it.unical.mat.embasp.base.Output
Definition: Output.java:4
it.unical.mat.embasp.languages.pddl.Action
Definition: Action.java:3
it.unical.mat.embasp.languages.Mapper.getObject
Object getObject(final String atom)
Definition: Mapper.java:39
it.unical.mat.embasp.languages.pddl.PDDLMapper
Definition: PDDLMapper.java:8
it.unical.mat.parsers.pddl.PDDLDataCollection
Definition: PDDLDataCollection.java:3