package frame.persist.loader; import frame.object.data.Entity; import frame.object.data.EntityFactory; import java.sql.ResultSet; public class EntityLoader extends DataLoader { private Entity entity; private EntityFactory entityFactory; public EntityLoader(String tableName) { super(tableName); } public EntityLoader(String tableName, EntityFactory entityFactory) { super(tableName); this.entityFactory = entityFactory; } public EntityLoader(Entity entity) { this.entity = entity; this.tableName = entity.getTableName(); this.entityMeta = entity.getEntityMeta(); } @Override protected void loadData(ResultSet rslt) throws Exception { if (rslt.next()) { if (entityFactory != null) { entityFactory.setEntityMeta(entityMeta); entity = entityFactory.createEntity(rslt); } entity = new Entity(entityMeta); int cnt = entity.getFieldCount(); Object obj; for (int i = 0; i < cnt; i++) { obj = rslt.getObject(i + 1); entity.set(i, obj); } } } public Entity getEntity() { return entity; } }