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());
}
}