/*
* Author: tdanford
* Date: Dec 19, 2008
*/
package org.seqcode.gseutils.models;
import java.util.*;
import org.seqcode.gseutils.Closeable;
public class ModelInputIterator<T extends Model> implements Iterator<T>, Closeable {
private ModelInput<T> input;
private T next;
public ModelInputIterator(ModelInput<T> inp) {
input = inp;
next = input.readModel();
}
public void close() {
input.close();
input = null;
next = null;
}
public boolean isClosed() {
return input ==null;
}
public boolean hasNext() {
return next != null;
}
public T next() {
T val = next;
next = input.readModel();
return val;
}
public void remove() {
throw new UnsupportedOperationException();
}
}