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;
|
}
|
|
}
|