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