package org.aksw.jena_sparql_api.utils;
import java.util.Iterator;
import org.apache.jena.util.iterator.WrappedIterator;
public class ExtendedIteratorClosable<T>
extends WrappedIterator<T>
{
protected AutoCloseable closable;
public ExtendedIteratorClosable(Iterator<? extends T> base, AutoCloseable closable) {
super(base);
this.closable = closable;
}
@Override
public void close() {
if(closable != null) {
try {
closable.close();
} catch(Exception e) {
throw new RuntimeException(e);
}
}
}
public static <T> ExtendedIteratorClosable<T> create(Iterator<? extends T> base, AutoCloseable closable) {
ExtendedIteratorClosable<T> result = new ExtendedIteratorClosable<>(base, closable);
return result;
}
}