EmbASP-Java
ASPMapper.java
1 package it.unical.mat.embasp.languages.asp;
2 
3 import it.unical.mat.embasp.languages.Mapper;
4 import it.unical.mat.parsers.asp.ASPParser;
5 import java.util.HashMap;
6 
11 public class ASPMapper extends Mapper {
12  private static ASPMapper mapper;
13 
14  public static ASPMapper getInstance() {
15  if (ASPMapper.mapper == null)
16  ASPMapper.mapper = new ASPMapper();
17  return ASPMapper.mapper;
18  }
19 
20  private ASPMapper() {
21  super();
22  }
23 
24  @Override
25  protected String getActualString(final String predicate, final HashMap<Integer, Object> parametersMap) throws IllegalTermException {
26  if (parametersMap.isEmpty())
27  return predicate;
28 
29  String atom = predicate + "(";
30  for (int i = 0; i < parametersMap.size(); i++) {
31  if (i != 0)
32  atom += ",";
33  final Object objectTerm = parametersMap.get(i);
34  if (objectTerm == null)
35  throw new IllegalTermException("Wrong term number of predicate " + predicate);
36  if (objectTerm instanceof Integer)
37  atom += objectTerm + "";
38  else if(objectTerm instanceof SymbolicConstant)
39  atom += objectTerm.toString() + "";
40  else
41  atom += "\"" + objectTerm.toString() + "\"";
42  }
43  atom += ")";
44  return atom;
45 
46  }
47 
48  @Override
49  protected String getId(final String atom) {
50  final int openBracketIndex = atom.indexOf("(");
51 
52  if(openBracketIndex == -1)
53  return atom;
54 
55  return atom.substring(0, openBracketIndex);
56  }
57 
58  @Override
59  protected String[] getParam(final String atom) {
60  return ASPParser.parse(atom).getParameters();
61  }
62 }
it.unical.mat.embasp.languages.asp.ASPMapper.getParam
String[] getParam(final String atom)
Definition: ASPMapper.java:59
it.unical.mat.embasp.languages.asp.ASPMapper.getId
String getId(final String atom)
Definition: ASPMapper.java:49
it.unical.mat.embasp.languages.Mapper
Definition: Mapper.java:18
it.unical.mat.embasp.languages.asp.ASPMapper
Definition: ASPMapper.java:11
it.unical.mat.embasp.languages.asp.IllegalTermException
Definition: IllegalTermException.java:3
it.unical.mat.embasp.languages.asp.SymbolicConstant
Definition: SymbolicConstant.java:3
it.unical.mat.parsers.asp.ASPParser
Definition: ASPParser.java:15