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<MetaField> 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<MetaField>();
|
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));
|
}
|
|
}
|