package plp.collection; import java.util.Iterator; import java.util.NoSuchElementException; import plp.util.Predicate; /** * A list with cursor. */ public interface CList { public int size(); public boolean empty(); public void remove() throws InvalidPositionException; public void goFirst(); public void goEnd(); public void goTo(Position pos) throws InvalidPositionException; public Position getPosition(); public boolean atFirst(); public boolean atEnd(); public void forward() throws InvalidPositionException; public void backward() throws InvalidPositionException; public Iterator iterator(); public Iterator iterator(Predicate p); }