package org.araqne.logdb.jdbc;
import java.io.IOException;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Map;
import org.araqne.logdb.client.LogCursor;
public class LogdbResultSet extends AbstractResultSet {
private LogCursor cursor;
private Map<String, Object> current;
LogdbResultSet(LogCursor cursor) {
this.cursor = cursor;
}
@Override
public boolean next() throws SQLException {
if (!cursor.hasNext())
return false;
current = cursor.next();
return true;
}
@Override
public void close() throws SQLException {
try {
cursor.close();
} catch (IOException e) {
throw new SQLException(e);
}
}
@Override
public ResultSetMetaData getMetaData() throws SQLException {
return new LogdbResultSetMetaData();
}
@Override
public String getString(int columnIndex) throws SQLException {
Object v = current.get("line");
return v != null ? v.toString() : null;
}
@Override
public String getNString(int columnIndex) throws SQLException {
Object v = current.get("line");
return v != null ? v.toString() : null;
}
@Override
public String getString(String columnLabel) throws SQLException {
Object v = current.get(columnLabel);
return v != null ? v.toString() : null;
}
@Override
public String getNString(String columnLabel) throws SQLException {
Object v = current.get(columnLabel);
return v != null ? v.toString() : null;
}
}