СУХОЙ - хороший принцип. Как и KISS; -)
public void deleteRecord(Class classOfProduct, Object id) {
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
Object p = pm.getObjectById(classOfProduct, id);
pm.deletePersistent(p);
} finally {
pm.close();
}
}
Это будет вызвано, например:
theObject.deleteRecord(Person.class, s.getId());
theObject.deleteRecord(Product.class, s.getId());
Поскольку это пустой метод, а PersistenceManager не работает с универсальными типами, я бы посоветовал избегать использования универсальных типов. Этот метод, если применимо, имеет дополнительный бонус, который вам не понадобится изменять иерархию типов Product, Person и т. Д.
Недостатком является то, что если этот метод вызывается из нескольких мест, может быть много мест для изменения подписи - но легко позволить компилятору выяснить, сколько времени это займет.