View Javadoc

1   /*
2    *  DISCLAIMER
3    */
4   package org.flowfuse.base.dao.hibernate;
5   
6   import org.apache.commons.logging.Log;
7   import org.apache.commons.logging.LogFactory;
8   import org.flowfuse.base.dao.Dao;
9   import org.springframework.orm.ObjectRetrievalFailureException;
10  import org.springframework.orm.hibernate.support.HibernateDaoSupport;
11  
12  import java.io.Serializable;
13  import java.util.List;
14  
15  /***
16   * @author <a href="stefan@flowfuse.org">Stefan Kleineikenscheidt</a>,
17   *         Flowfuse.org
18   * @version $Id: BaseDaoHibernate.java,v 1.1 2005/11/20 15:02:01 skleinei Exp $
19   */
20  public class BaseDaoHibernate extends HibernateDaoSupport implements Dao {
21  
22    /* RCS ID */
23    public final static String rcsid = "$Id: BaseDaoHibernate.java,v 1.1 2005/11/20 15:02:01 skleinei Exp $";
24  
25    /* Logger */
26    protected final Log logger = LogFactory.getLog(this.getClass());
27  
28    /***
29     * @see org.flowfuse.base.dao.Dao#saveObject(java.lang.Object)
30     */
31    public void saveObject(Object o) {
32      getHibernateTemplate().saveOrUpdate(o);
33    }
34  
35    /***
36     * @see org.flowfuse.base.dao.Dao#getObject(java.lang.Class,
37            *      java.io.Serializable)
38     */
39    public Object getObject(Class clazz, Serializable id) {
40      Object o = getHibernateTemplate().get(clazz, id);
41  
42      if (o == null) {
43        throw new ObjectRetrievalFailureException(clazz, id);
44      }
45  
46      return o;
47    }
48  
49    /***
50     * @see org.flowfuse.base.dao.Dao#getObjects(java.lang.Class)
51     */
52    public List getObjects(Class clazz) {
53      return getHibernateTemplate().loadAll(clazz);
54    }
55  
56    /***
57     * @see org.flowfuse.base.dao.Dao#removeObject(java.lang.Class,
58            *      java.io.Serializable)
59     */
60    public void removeObject(Class clazz, Serializable id) {
61      getHibernateTemplate().delete(getObject(clazz, id));
62    }
63  
64  }
65  
66  /* EOF */