我有一个简单的问题,尝试使用Appengine保持DRY。帮助创建泛型类以避免代码复制
除了作为参数发送的对象外,下面的2个函数是相同的。实际上我有15个这样的功能。我试图找到一种方法来创建一个超类或通用来实现这一点。
public void deleteRecord(Person s) {
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
Person p = pm.getObjectById(Person.class, s.getId());
pm.deletePersistent(p);
} finally {
pm.close();
}
}
和
public void deleteRecord(Product s) {
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
Product p = pm.getObjectById(Product.class, s.getId());
pm.deletePersistent(p);
} finally {
pm.close();
}
}
遗憾的是,似乎我不能使用泛型,因为仿制药不支持T.class。
任何好的建议如何做到这一点w/o复制?
谢谢。 丹尼尔
你不能修改你的方法接受一个类,而不是一个对象? – JRL
做这些方法是否需要在同一个类中,或者像它自己的类中的每个方法一样? – meriton