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; } }