package util.list;
import java.util.NoSuchElementException;
import util.list.Iterator;
public class ListIterator implements Iterator {
private List myList = null;
private ListLink cursor = null;
ListIterator(List aList) {
myList = aList;
start();
}
public void start() {
cursor = myList.getHead();
}
public boolean cont() {
return cursor != null;
}
public void next() {
cursor = cursor.getNext();
}
public Object getCurrent() {
return cursor.getInfo();
}
public Object getNext() throws NoSuchElementException {
if (!hasNext())
throw new NoSuchElementException();
return cursor.getNext().getInfo();
}
public boolean hasNext() {
return (cont() && cursor.getNext() != null);
}
public void insertNext(Object info) {
cursor.setNext(new ListLink(info, cursor.getNext()));
}
public void removeNext() throws NoSuchElementException {
if (!hasNext())
throw new NoSuchElementException();
cursor.setNext(cursor.getNext().getNext());
}
}