package frame.persist.loader;
|
|
import java.sql.ResultSetMetaData;
|
import java.sql.SQLException;
|
|
import frame.object.meta.IFieldReader;
|
|
public class ResultMetaFieldReader implements IFieldReader {
|
|
private ResultSetMetaData resultMeta;
|
private int pos;
|
|
|
public ResultMetaFieldReader(ResultSetMetaData resultMeta) {
|
this.resultMeta = resultMeta;
|
pos = 0;
|
}
|
|
public String getFieldName() throws SQLException {
|
return resultMeta.getColumnName(pos);
|
}
|
|
public int getFieldType() throws SQLException {
|
int value = resultMeta.getColumnType(pos);
|
return value;
|
}
|
|
public int getFieldLength() throws SQLException {
|
return resultMeta.getColumnDisplaySize(pos);
|
}
|
|
public int getNullable() throws SQLException {
|
return resultMeta.isNullable(pos);
|
}
|
|
public boolean next() throws SQLException {
|
if (pos < resultMeta.getColumnCount()) {
|
pos++;
|
return true;
|
}
|
|
return false;
|
}
|
|
@Override
|
public void first() {
|
pos = 0;
|
}
|
|
}
|