package util.nice; import java.util.NoSuchElementException; public class NiceListIterator implements NiceIterator { private NiceList myList = null; private NiceListLink cursor = null; NiceListIterator(NiceList aList) { myList = aList; start(); } public void start() { cursor = myList.getHead(); } public boolean cont() { return cursor != null; } public void next() { cursor = cursor.getNext(); } public Niceable getCurrent() { return cursor.getInfo(); } public Niceable getNext() throws NoSuchElementException { if (!hasNext()) throw new NoSuchElementException(); return cursor.getNext().getInfo(); } public boolean hasNext() { return (cont() && cursor.getNext() != null); } public void insertNext(Niceable info) { cursor.setNext(new NiceListLink(info, cursor.getNext())); } public void removeNext() throws NoSuchElementException { if (!hasNext()) throw new NoSuchElementException(); cursor.setNext(cursor.getNext().getNext()); } }