Class HibSessionImpl

  • All Implemented Interfaces:
    Serializable, HibSession, org.bedework.util.logging.Logged

    public class HibSessionImpl
    extends Object
    implements HibSession, org.bedework.util.logging.Logged
    Convenience class to do the actual hibernate interaction. Intended for one use only.
    Author:
    Mike Douglass douglm rpi.edu
    See Also:
    Serialized Form
    • Constructor Detail

      • HibSessionImpl

        public HibSessionImpl()
    • Method Detail

      • init

        public void init​(org.hibernate.SessionFactory sessFactory)
                  throws org.bedework.webdav.servlet.shared.WebdavException
        Set up for a hibernate interaction. Throw the object away on exception.
        Specified by:
        init in interface HibSession
        Parameters:
        sessFactory -
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getSession

        public org.hibernate.Session getSession()
                                         throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        getSession in interface HibSession
        Returns:
        Session
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • isOpen

        public boolean isOpen()
                       throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        isOpen in interface HibSession
        Returns:
        boolean true if open
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • clear

        public void clear()
                   throws org.bedework.webdav.servlet.shared.WebdavException
        Clear a session
        Specified by:
        clear in interface HibSession
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • disconnect

        public void disconnect()
                        throws org.bedework.webdav.servlet.shared.WebdavException
        Disconnect a session
        Specified by:
        disconnect in interface HibSession
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • setFlushMode

        public void setFlushMode​(org.hibernate.FlushMode val)
                          throws org.bedework.webdav.servlet.shared.WebdavException
        set the flushmode
        Specified by:
        setFlushMode in interface HibSession
        Parameters:
        val -
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • beginTransaction

        public void beginTransaction()
                              throws org.bedework.webdav.servlet.shared.WebdavException
        Begin a transaction
        Specified by:
        beginTransaction in interface HibSession
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • transactionStarted

        public boolean transactionStarted()
        Return true if we have a transaction started
        Specified by:
        transactionStarted in interface HibSession
        Returns:
        boolean
      • commit

        public void commit()
                    throws org.bedework.webdav.servlet.shared.WebdavException
        Commit a transaction
        Specified by:
        commit in interface HibSession
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • rollback

        public void rollback()
                      throws org.bedework.webdav.servlet.shared.WebdavException
        Rollback a transaction
        Specified by:
        rollback in interface HibSession
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • rolledback

        public boolean rolledback()
                           throws org.bedework.webdav.servlet.shared.WebdavException
        Description copied from interface: HibSession
        Did we rollback the transaction?
        Specified by:
        rolledback in interface HibSession
        Returns:
        boolean
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • createCriteria

        public org.hibernate.Criteria createCriteria​(Class cl)
                                              throws org.bedework.webdav.servlet.shared.WebdavException
        Create a Criteria ready for the additon of Criterion.
        Specified by:
        createCriteria in interface HibSession
        Parameters:
        cl - Class for criteria
        Returns:
        Criteria created Criteria
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • evict

        public void evict​(Object val)
                   throws org.bedework.webdav.servlet.shared.WebdavException
        Description copied from interface: HibSession
        Evict an object from the session.
        Specified by:
        evict in interface HibSession
        Parameters:
        val - Object to evict
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • createQuery

        public void createQuery​(String s)
                         throws org.bedework.webdav.servlet.shared.WebdavException
        Description copied from interface: HibSession
        Create a query ready for parameter replacement or execution.
        Specified by:
        createQuery in interface HibSession
        Parameters:
        s - String hibernate query
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • createNoFlushQuery

        public void createNoFlushQuery​(String s)
                                throws org.bedework.webdav.servlet.shared.WebdavException
        Description copied from interface: HibSession
        Create a query ready for parameter replacement or execution and flag it for no flush. This assumes that any queued changes will not affect the result of the query.
        Specified by:
        createNoFlushQuery in interface HibSession
        Parameters:
        s - String hibernate query
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getQueryString

        public String getQueryString()
                              throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        getQueryString in interface HibSession
        Returns:
        query string
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • createSQLQuery

        public void createSQLQuery​(String s,
                                   String returnAlias,
                                   Class returnClass)
                            throws org.bedework.webdav.servlet.shared.WebdavException
        Create a sql query ready for parameter replacement or execution.
        Specified by:
        createSQLQuery in interface HibSession
        Parameters:
        s - String hibernate query
        returnAlias -
        returnClass -
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • namedQuery

        public void namedQuery​(String name)
                        throws org.bedework.webdav.servlet.shared.WebdavException
        Create a named query ready for parameter replacement or execution.
        Specified by:
        namedQuery in interface HibSession
        Parameters:
        name - String named query name
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • cacheableQuery

        public void cacheableQuery()
                            throws org.bedework.webdav.servlet.shared.WebdavException
        Mark the query as cacheable
        Specified by:
        cacheableQuery in interface HibSession
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • setString

        public void setString​(String parName,
                              String parVal)
                       throws org.bedework.webdav.servlet.shared.WebdavException
        Set the named parameter with the given value
        Specified by:
        setString in interface HibSession
        Parameters:
        parName - String parameter name
        parVal - String parameter value
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • setDate

        public void setDate​(String parName,
                            Date parVal)
                     throws org.bedework.webdav.servlet.shared.WebdavException
        Set the named parameter with the given value
        Specified by:
        setDate in interface HibSession
        Parameters:
        parName - String parameter name
        parVal - Date parameter value
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • setBool

        public void setBool​(String parName,
                            boolean parVal)
                     throws org.bedework.webdav.servlet.shared.WebdavException
        Set the named parameter with the given value
        Specified by:
        setBool in interface HibSession
        Parameters:
        parName - String parameter name
        parVal - boolean parameter value
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • setInt

        public void setInt​(String parName,
                           int parVal)
                    throws org.bedework.webdav.servlet.shared.WebdavException
        Set the named parameter with the given value
        Specified by:
        setInt in interface HibSession
        Parameters:
        parName - String parameter name
        parVal - int parameter value
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • setLong

        public void setLong​(String parName,
                            long parVal)
                     throws org.bedework.webdav.servlet.shared.WebdavException
        Set the named parameter with the given value
        Specified by:
        setLong in interface HibSession
        Parameters:
        parName - String parameter name
        parVal - long parameter value
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • setEntity

        public void setEntity​(String parName,
                              Object parVal)
                       throws org.bedework.webdav.servlet.shared.WebdavException
        Set the named parameter with the given value
        Specified by:
        setEntity in interface HibSession
        Parameters:
        parName - String parameter name
        parVal - Object parameter value
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • setParameter

        public void setParameter​(String parName,
                                 Object parVal)
                          throws org.bedework.webdav.servlet.shared.WebdavException
        Description copied from interface: HibSession
        Set the named parameter with the given value
        Specified by:
        setParameter in interface HibSession
        Parameters:
        parName - String parameter name
        parVal - Object parameter value
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • setParameterList

        public void setParameterList​(String parName,
                                     Collection parVal)
                              throws org.bedework.webdav.servlet.shared.WebdavException
        Description copied from interface: HibSession
        Set the named parameter with the given Collection
        Specified by:
        setParameterList in interface HibSession
        Parameters:
        parName - String parameter name
        parVal - Collection parameter value
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • setFirstResult

        public void setFirstResult​(int val)
                            throws org.bedework.webdav.servlet.shared.WebdavException
        Description copied from interface: HibSession
        Set the first result for a paged batch
        Specified by:
        setFirstResult in interface HibSession
        Parameters:
        val - int first index
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • setMaxResults

        public void setMaxResults​(int val)
                           throws org.bedework.webdav.servlet.shared.WebdavException
        Description copied from interface: HibSession
        Set the max number of results for a paged batch
        Specified by:
        setMaxResults in interface HibSession
        Parameters:
        val - int max number
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getUnique

        public Object getUnique()
                         throws org.bedework.webdav.servlet.shared.WebdavException
        Description copied from interface: HibSession
        Return the single object resulting from the query.
        Specified by:
        getUnique in interface HibSession
        Returns:
        Object retrieved object or null
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getList

        public List getList()
                     throws org.bedework.webdav.servlet.shared.WebdavException
        Return a list resulting from the query.
        Specified by:
        getList in interface HibSession
        Returns:
        List list from query
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • executeUpdate

        public int executeUpdate()
                          throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        executeUpdate in interface HibSession
        Returns:
        int number updated
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • update

        public void update​(Object obj)
                    throws org.bedework.webdav.servlet.shared.WebdavException
        Update an object which may have been loaded in a previous hibernate session
        Specified by:
        update in interface HibSession
        Parameters:
        obj -
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • merge

        public Object merge​(Object obj)
                     throws org.bedework.webdav.servlet.shared.WebdavException
        Merge and update an object which may have been loaded in a previous hibernate session
        Specified by:
        merge in interface HibSession
        Parameters:
        obj -
        Returns:
        Object the persistent object
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • saveOrUpdate

        public void saveOrUpdate​(Object obj)
                          throws org.bedework.webdav.servlet.shared.WebdavException
        Save a new object or update an object which may have been loaded in a previous hibernate session
        Specified by:
        saveOrUpdate in interface HibSession
        Parameters:
        obj -
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • saveOrUpdateCopy

        public Object saveOrUpdateCopy​(Object obj)
                                throws org.bedework.webdav.servlet.shared.WebdavException
        Copy the state of the given object onto the persistent object with the same identifier. If there is no persistent instance currently associated with the session, it will be loaded. Return the persistent instance. If the given instance is unsaved or does not exist in the database, save it and return it as a newly persistent instance. Otherwise, the given instance does not become associated with the session.
        Specified by:
        saveOrUpdateCopy in interface HibSession
        Parameters:
        obj -
        Returns:
        Object
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • get

        public Object get​(Class cl,
                          Serializable id)
                   throws org.bedework.webdav.servlet.shared.WebdavException
        Return an object of the given class with the given id if it is already associated with this session. This must be called for specific key queries or we can get a NonUniqueObjectException later.
        Specified by:
        get in interface HibSession
        Parameters:
        cl - Class of the instance
        id - A serializable key
        Returns:
        Object
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • get

        public Object get​(Class cl,
                          int id)
                   throws org.bedework.webdav.servlet.shared.WebdavException
        Return an object of the given class with the given id if it is already associated with this session. This must be called for specific key queries or we can get a NonUniqueObjectException later.
        Specified by:
        get in interface HibSession
        Parameters:
        cl - Class of the instance
        id - int key
        Returns:
        Object
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • save

        public void save​(Object obj)
                  throws org.bedework.webdav.servlet.shared.WebdavException
        Save a new object.
        Specified by:
        save in interface HibSession
        Parameters:
        obj -
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • delete

        public void delete​(Object obj)
                    throws org.bedework.webdav.servlet.shared.WebdavException
        Delete an object
        Specified by:
        delete in interface HibSession
        Parameters:
        obj -
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • restore

        public void restore​(Object obj)
                     throws org.bedework.webdav.servlet.shared.WebdavException
        Save a new object with the given id. This should only be used for restoring the db from a save.
        Specified by:
        restore in interface HibSession
        Parameters:
        obj -
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • reAttach

        public void reAttach​(UnversionedDbentity<?> val)
                      throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        reAttach in interface HibSession
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • lockRead

        public void lockRead​(Object o)
                      throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        lockRead in interface HibSession
        Parameters:
        o -
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • lockUpdate

        public void lockUpdate​(Object o)
                        throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        lockUpdate in interface HibSession
        Parameters:
        o -
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • flush

        public void flush()
                   throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        flush in interface HibSession
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • close

        public void close()
                   throws org.bedework.webdav.servlet.shared.WebdavException
        Specified by:
        close in interface HibSession
        Throws:
        org.bedework.webdav.servlet.shared.WebdavException
      • getLogger

        public org.bedework.util.logging.BwLogger getLogger()
        Specified by:
        getLogger in interface org.bedework.util.logging.Logged