CompressedIterator.java from Kneobase at Krugle
Show CompressedIterator.java syntax highlighted
/*
* Created on 01/11/2004
*
*/
package com.kneobase.driver.compressed;
import java.io.IOException;
import java.util.Iterator;
/**
* @author Ernesto De Santis
*
*/
public class CompressedIterator implements Iterator {
private I_CompressedCompositeAdapter adapter;
private Object nextCU;
private boolean nextReaded;
public CompressedIterator(I_CompressedCompositeAdapter adapter){
this.adapter = adapter;
nextReaded = false;
}
/**
* @see java.util.Iterator#hasNext()
*/
public boolean hasNext() {
if(!nextReaded){
nextCU = readCU();
nextReaded = true;
}
return nextCU != null;
}
/**
* @see java.util.Iterator#next()
*/
public Object next() {
if(!nextReaded){
nextCU = readCU();
}
nextReaded = false;
return nextCU;
}
/**
* Not implemented
*
* @see java.util.Iterator#remove()
*/
public void remove() {
//not implemented
}
private Object readCU() {
try {
Object entryAdapter = adapter.getNextEntryAdapter();
if (entryAdapter == null)
return null;
else {
return entryAdapter;
}
} catch( IOException ioe ){
adapter.freeResources();
return null;
}
}
protected void finalize() throws Throwable {
super.finalize();
adapter.freeResources();
}
}
See more files for this project here