最终,我需要能够在我的代码中做到这一点:
User result = goo.getEntity("users", "id1").getAs(User.class);
但是,在上面的代码中,我需要明确地将结果转换为getEntity
to User
,方法是什么,以便返回类型getAs
将是任何 .class 放入方法中。
这是底层的伪代码:
public class EntityType {
Map json = null;
public EntityType(Map json){
this.json = json;
}
public Class<?> getAs(Class<?> clazz){
// create clazz object from json map
}
}
public EntityType getEntity(String kind, String id){
Map json = getFromServer(kind, id);
EntityType entity = new EntityType(json);
return entity;
}