Interfaces are a critical feature of Java, and important to get things working properly.  I have many interfaces, but since they are usually very small, I’ll keep them in this document.

HasID Ticable I18NEnum RecordIO StoreIO Shovel



public interface HasID {
	public abstract int getID();
	public abstract Object getByID(int id);
}

public interface Ticable {
}

public interface I18NEnum {
	public abstract Enum iValueOf(String iName);
	public abstract String prompt();
	public abstract String iName();
}

public interface RecordIO {
	public abstract void fromString(Integer index, String value);
	public abstract String asString(Integer index);
	public abstract Set keySet();
	public abstract Integer lastIndex();
}

public interface StoreIO {
	public abstract RecordIO newRecord();
	public abstract void add(RecordIO o);
	public abstract void notLoaded(Exception e);
	public abstract void notSaved(Exception e);
	public abstract Iterator iterator();
}

public abstract class Shovel {
	public abstract void load(StoreIO s);
	public abstract void save(StoreIO s);
}