package janala.interpreters;
import java.util.ArrayList;
import java.util.Map;
import java.util.TreeMap;
/**
* Author: Koushik Sen (ksen@cs.berkeley.edu)
* Date: 6/27/12
* Time: 10:34 PM
*/
public class StringConstants {
private Map<String, Integer> stringValue;
private ArrayList<String> reverseMap;
final public static StringConstants instance = new StringConstants();
public StringConstants() {
stringValue = new TreeMap<String, Integer>();
reverseMap = new ArrayList<String>();
}
public int get(String s) {
Integer i = stringValue.get(s);
if (i == null) {
i = stringValue.size();
stringValue.put(s, i);
reverseMap.add(s);
}
return i;
}
public String get(int i) {
try {
return reverseMap.get(i);
} catch (Exception e) {
return "string" + i;
}
}
}