package frame.object.data;
|
|
import java.lang.reflect.Constructor;
|
import java.sql.ResultSet;
|
|
import frame.object.meta.EntityMeta;
|
|
public class EntityClassFactory extends EntityFactory {
|
|
private Class<? extends Entity> clazz;
|
|
public EntityClassFactory(Class<? extends Entity> clazz) {
|
this.clazz = clazz;
|
}
|
|
@Override
|
public Entity createEntity(ResultSet rslt) throws Exception {
|
Constructor<? extends Entity> constructor = clazz.getConstructor(EntityMeta.class);
|
|
if (constructor == null) {
|
throw new DataException("ConstructorError", "Constructor error : " + clazz.getName());
|
}
|
|
return constructor.newInstance(entityMeta);
|
}
|
|
}
|