Advertisement
Guest User

genericmanager.java

a guest
Mar 1st, 2010
365
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.76 KB | None | 0 0
  1. package hibex.dao;
  2.  
  3. import hibex.dto.PersistentObject;
  4.  
  5. import java.io.Serializable;
  6. import java.util.HashMap;
  7. import java.util.List;
  8. import java.util.Map;
  9.  
  10. import org.hibernate.SessionFactory;
  11. import org.hibernate.criterion.DetachedCriteria;
  12.  
  13. public class GenericManager<PK extends Serializable, T extends PersistentObject<PK>> {
  14.     private Class<T> modelClass;
  15.     private GenericDao<T, PK> dao;
  16.  
  17.     private static Map<Class<PersistentObject>, GenericManager> managersMap = new HashMap<Class<PersistentObject>, GenericManager>();
  18.  
  19.     public GenericManager(Class<T> modelClass) {
  20.         this.modelClass = modelClass;
  21.         this.dao = new GenericDaoImpl<T, PK>(modelClass);
  22.         managersMap.put((Class<PersistentObject>) this.modelClass, this);
  23.     }
  24.  
  25.     @SuppressWarnings("unchecked")
  26.     public static <PK2 extends Serializable, T2 extends PersistentObject<PK2>> GenericManager<PK2, T2> lookupManagerByClass(
  27.             Class<T2> modelClass) {
  28.         return managersMap.get(modelClass);
  29.     }
  30.  
  31.     public void setSessionFactory(SessionFactory sessionFactory) {
  32.         dao.setSessionFactory(sessionFactory);
  33.     }
  34.    
  35.     public SessionFactory getSessionFactory() {
  36.         return dao.getSessionFactory();
  37.     }
  38.  
  39.     public Class<T> getModelClass() {
  40.         return modelClass;
  41.     }
  42.  
  43.     public void setDao(GenericDao<T, PK> dao) {
  44.         this.dao = dao;
  45.     }
  46.  
  47.     public List<T> find(DetachedCriteria criteria) {
  48.         return dao.getObjects(criteria);
  49.     }
  50.  
  51.     public List<T> find(PK[] ids) {
  52.         return dao.getObjects(ids);
  53.     }
  54.  
  55.     public T get(PK id) {
  56.         return dao.findById(id);
  57.     }
  58.  
  59.     public List<T> findAll() {
  60.         return dao.getObjects();
  61.     }
  62.  
  63.     public Serializable insert(T object) {
  64.         return dao.create(object);
  65.     }
  66.  
  67.     public void update(T object) {
  68.         dao.update(object);
  69.     }
  70.  
  71.     public void delete(T object) {
  72.         dao.delete(object);
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement