package frame.object.meta; import java.sql.ResultSetMetaData; import frame.persist.IMetaDataLoader; import frame.persist.NamedSQL; import frame.persist.SQLRunner; import frame.persist.loader.ResultMetaFieldReader; public class EntityMetaLoader implements IMetaDataLoader { private String metaName; private EntityMeta entityMeta; public EntityMetaLoader() { } public EntityMeta getEntityMetaByTable(String tableName) throws Exception { this.metaName = tableName; String sql = "select * from " + tableName + " where 1 <> 1"; SQLRunner.getTableMetaData(this, sql); return entityMeta; } public EntityMeta getEntityMetaByNamedSQL(NamedSQL namedSQL) throws Exception { this.metaName = namedSQL.getName(); SQLRunner.getTableMetaData(this, namedSQL.getSQL()); return entityMeta; } public void load(ResultSetMetaData metaData) throws Exception { ResultMetaFieldReader fieldReader = new ResultMetaFieldReader(metaData); entityMeta = new EntityMeta(metaName, fieldReader); } }