EmbASP-Java
AnswerSet.java
1 package it.unical.mat.embasp.languages.asp;
2 
3 import java.lang.reflect.InvocationTargetException;
4 import java.util.Collections;
5 import java.util.HashMap;
6 import java.util.HashSet;
7 import java.util.List;
8 import java.util.Map;
9 import java.util.Set;
10 
18 public class AnswerSet {
19 
21  private final List<String> value;
23  private final Map<Integer, Integer> weight_map;
25  private Set<Object> atoms;
26 
27  public AnswerSet(final List<String> output) {
28  value = output;
29  weight_map = new HashMap<>();
30  }
31 
32  public AnswerSet(final List<String> value, final Map<Integer, Integer> weightMap) {
33  this.value = value;
34  weight_map = weightMap;
35  }
36 
42  public List<String> getAnswerSet() {
43  return Collections.unmodifiableList(value);
44  }
45 
46  public List <String> getValue() {
47  return value;
48  }
49 
55  public Set<Object> getAtoms() throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException,
56  InstantiationException {
57  if(atoms == null) {
58  atoms = new HashSet <> ();
59 
60  for(final String atom : value) {
61  final Object obj = ASPMapper.getInstance().getObject(atom);
62 
63  if(obj != null)
64  atoms.add(obj);
65  }
66  }
67 
68  return atoms;
69  }
70 
71  public Map<Integer, Integer> getLevelWeight() {
72  return weight_map;
73  }
74 
78  public Map<Integer, Integer> getWeights() {
79  return Collections.unmodifiableMap(weight_map);
80  }
81 
82  @Override
83  public String toString() {
84  return value.toString();
85  }
86 }
it.unical.mat.embasp.languages.asp.AnswerSet.getWeights
Map< Integer, Integer > getWeights()
Definition: AnswerSet.java:78
it.unical.mat.embasp.languages.asp.AnswerSet.getAtoms
Set< Object > getAtoms()
Definition: AnswerSet.java:55
it.unical.mat.embasp.languages.Mapper.getObject
Object getObject(final String atom)
Definition: Mapper.java:39
it.unical.mat.embasp.languages.asp.AnswerSet.getAnswerSet
List< String > getAnswerSet()
Definition: AnswerSet.java:42
it.unical.mat.embasp.languages.asp.ASPMapper
Definition: ASPMapper.java:11
it.unical.mat.embasp.languages.asp.AnswerSet
Definition: AnswerSet.java:18