
org.sql2o.PojoResultSetIterator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sql2o Show documentation
Show all versions of sql2o Show documentation
Easy database query library
The newest version!
package org.sql2o;
import org.sql2o.quirks.Quirks;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* Iterator for a {@link java.sql.ResultSet}. Tricky part here is getting {@link #hasNext()}
* to work properly, meaning it can be called multiple times without calling {@link #next()}.
*
* @param the type of the objects that this iterator will return
* @author [email protected]
*/
public class PojoResultSetIterator extends ResultSetIteratorBase {
private ResultSetHandler handler;
public PojoResultSetIterator(ResultSet rs, boolean isCaseSensitive, Quirks quirks, ResultSetHandlerFactory factory) {
super(rs, isCaseSensitive, quirks);
try {
this.handler = factory.newResultSetHandler(rs.getMetaData());
} catch (SQLException e) {
throw new Sql2oException("Database error: " + e.getMessage(), e);
}
}
public PojoResultSetIterator(ResultSet rs, boolean isCaseSensitive, Quirks quirks, ResultSetHandler handler) {
super(rs, isCaseSensitive, quirks);
this.handler = handler;
}
@Override
protected T readNext() throws SQLException {
return handler.handle(rs);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy