Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hibex.dao;
- import hibex.dto.PersistentObject;
- import java.io.Serializable;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import org.hibernate.SessionFactory;
- import org.hibernate.criterion.DetachedCriteria;
- public class GenericManager<PK extends Serializable, T extends PersistentObject<PK>> {
- private Class<T> modelClass;
- private GenericDao<T, PK> dao;
- private static Map<Class<PersistentObject>, GenericManager> managersMap = new HashMap<Class<PersistentObject>, GenericManager>();
- public GenericManager(Class<T> modelClass) {
- this.modelClass = modelClass;
- this.dao = new GenericDaoImpl<T, PK>(modelClass);
- managersMap.put((Class<PersistentObject>) this.modelClass, this);
- }
- @SuppressWarnings("unchecked")
- public static <PK2 extends Serializable, T2 extends PersistentObject<PK2>> GenericManager<PK2, T2> lookupManagerByClass(
- Class<T2> modelClass) {
- return managersMap.get(modelClass);
- }
- public void setSessionFactory(SessionFactory sessionFactory) {
- dao.setSessionFactory(sessionFactory);
- }
- public SessionFactory getSessionFactory() {
- return dao.getSessionFactory();
- }
- public Class<T> getModelClass() {
- return modelClass;
- }
- public void setDao(GenericDao<T, PK> dao) {
- this.dao = dao;
- }
- public List<T> find(DetachedCriteria criteria) {
- return dao.getObjects(criteria);
- }
- public List<T> find(PK[] ids) {
- return dao.getObjects(ids);
- }
- public T get(PK id) {
- return dao.findById(id);
- }
- public List<T> findAll() {
- return dao.getObjects();
- }
- public Serializable insert(T object) {
- return dao.create(object);
- }
- public void update(T object) {
- dao.update(object);
- }
- public void delete(T object) {
- dao.delete(object);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement