package logo.lang; import java.util.StringTokenizer; import java.util.Vector; public class LogoSub extends Pair { Vector params = null; public int paramCount() { int result=0; if (params!=null) result=params.size(); return result; } public String getParam(int i) { return (String)params.elementAt(i); } public LogoSub(String subName, String v) { super(subName,""); setValue(v); //otherwise, 'Params' doesn't work... } public String getValue() { return (String) super.getObject(); } public void setValue(String v) { super.setObject(v); if ( v.startsWith("params") ) { params=new Vector(); String p = v.substring(0,v.indexOf("]")+1); StringTokenizer st = new StringTokenizer(p,"[] "); if ( st.hasMoreTokens() ) st.nextToken(); //discard the 1st token (the keyword 'params') while ( st.hasMoreTokens() ) { params.addElement(st.nextToken()); } } } }