import java.util.*;
import java.io.*;

public class Ctag {
	String tagName;
	Vector vec;
	int index;
	Ctag(String tagName,Cfunction cfn) {
		this.tagName = tagName;
		vec = new Vector();
		add(cfn);
		index = -1;
	}
	public void add(Cfunction newCfn) {
		for(int i=0; i<vec.size(); i++) {
			Cfunction cfn = (Cfunction)vec.elementAt(i);
			int cond = newCfn.compare(cfn);
			if(cond < 0) {
				vec.insertElementAt(newCfn,i);
				return;
			}
			if(cond == 0) {
				return;
			}
		}
		vec.addElement(newCfn);
	}
	public String getTag() {
		return(tagName);
	}
	public int compare(String testTag) {
		return(testTag.compareTo(this.tagName));
	}
	public Cfunction getFirst() {
		index = -1;
		return(getNext());
	}
	public Cfunction getNext() {
		if(++index < vec.size())
			return((Cfunction)vec.elementAt(index));
		return(null);
	}
}
