package gui; import java.util.ArrayList; /** * @author Oliver Chu */ public class Table extends ArrayList { ArrayList<SmartList<Pointer>> contents = new ArrayList<SmartList<Pointer>>(); public void addBinding(SmartList<Pointer> slp) { contents.add(slp); } public void bindAll(SmartList<Pointer> wrapper) { for (Pointer pt : wrapper) { SmartList<Pointer> slp = PointerTools.dereferenceList(pt); if (slp.size() == 2) { addBinding(slp); } } } public Pointer hasKey(Pointer key) { for (SmartList<Pointer> slp : contents) { if (slp.get(0).toString().equals(key.toString())) { return Constants.MINT_TRUE; } } return Constants.MINT_FALSE; } @Override public SmartList<Pointer> get(int i) { return contents.get(i); } public Pointer getValue(Pointer key) { for (SmartList<Pointer> slp : contents) { if (slp.get(0).toString().equals(key.toString())) { return slp.get(1); } } return Constants.MINT_NULL; } @Override public String toString() { return contents.toString().replace("[", "{").replace("]", "}"); } }