package frame.object.meta; import java.sql.SQLException; import java.sql.Types; import java.util.ArrayList; import java.util.List; public class MetaFieldReader implements IFieldReader { private static List fields; private MetaField field; private int pos; static { init(); } public MetaFieldReader() { pos = -1; } @Override public boolean next() throws SQLException { pos++; if (pos < fields.size()) { field = fields.get(pos); return true; } else { return false; } } @Override public String getFieldName() throws SQLException { if (field == null) { return null; } return field.getFieldName(); } @Override public int getFieldType() throws SQLException { if (field == null) { return Types.VARCHAR; } return field.getFieldType(); } @Override public int getFieldLength() throws SQLException { if (field == null) { return 0; } return field.getFieldLength(); } @Override public int getNullable() throws SQLException { if (field == null) { return 1; } return field.getNullable(); } @Override public void first() { pos = -1; } private static void init() { fields = new ArrayList(); fields.add(new MetaField("fieldName", Types.VARCHAR, 64, 0)); fields.add(new MetaField("fieldType", Types.VARCHAR, 0, 0)); fields.add(new MetaField("fieldLength", Types.INTEGER, 0, 0)); fields.add(new MetaField("nullable", Types.VARCHAR, 0, 0)); fields.add(new MetaField("displayName", Types.VARCHAR, 64, 0)); } }