package skywriting.examples.skyhout.input; import java.io.IOException; import org.apache.hadoop.io.SequenceFile; import org.apache.hadoop.io.Writable; public class SequenceFileReader implements Reader { private SequenceFile.Reader reader; private Class<? extends Writable> valueClass; public SequenceFileReader(SequenceFile.Reader reader) { this.reader = reader; this.valueClass = null; } @Override public boolean next(Writable key, Writable value) throws IOException { return reader.next(key, value); } protected void forgetFile() { this.reader = null; } @Override public Class<? extends Writable> getValueClass() { if (this.valueClass == null) { this.valueClass = this.reader.getValueClass().asSubclass(Writable.class); } return this.valueClass; } @Override public void close() throws IOException { this.reader.close(); } }