package foundation.data.getter;
|
|
import java.sql.ResultSet;
|
import java.sql.ResultSetMetaData;
|
|
import foundation.data.meta.field.FieldRuntimeCreator;
|
import foundation.data.meta.field.FieldsRuntime;
|
import foundation.data.meta.field.ResultMetaFieldReader;
|
import foundation.persist.ILoadable;
|
|
|
public abstract class DataGetter implements ILoadable {
|
|
protected FieldsRuntime fieldsMeta;
|
protected ResultSetMetaData resultMeta;
|
|
|
public void load(ResultSet rslt, Object... args) throws Exception {
|
resultMeta = rslt.getMetaData();
|
|
if (fieldsMeta == null) {
|
ResultMetaFieldReader fieldReader = new ResultMetaFieldReader(resultMeta);
|
fieldsMeta = FieldRuntimeCreator.create(fieldReader);
|
}
|
|
loadData(rslt);
|
}
|
|
protected abstract void loadData(ResultSet rslt) throws Exception;
|
|
}
|