org.nanocontainer.persistence.hibernate
Class SessionDelegator

java.lang.Object
  extended by org.nanocontainer.persistence.hibernate.SessionDelegator
All Implemented Interfaces:
Serializable, org.hibernate.Session
Direct Known Subclasses:
FailoverSessionDelegator

public abstract class SessionDelegator
extends Object
implements org.hibernate.Session

Abstract base class for session delegators. delegates all calls to session obtained by implementing class. error handling is also there. All methods are just delegations to hibernate session.

Version:
$Id: SessionDelegator.java 2835 2005-12-23 00:50:13Z juze $
See Also:
Serialized Form

Field Summary
protected  ExceptionHandler hibernateExceptionHandler
           
 
Constructor Summary
SessionDelegator()
           
SessionDelegator(ExceptionHandler hibernateExceptionHandler)
           
 
Method Summary
 org.hibernate.Transaction beginTransaction()
           
 void cancelQuery()
           
 void clear()
           
 Connection close()
           
 Connection connection()
           
 boolean contains(Object object)
           
 org.hibernate.Criteria createCriteria(Class persistentClass)
           
 org.hibernate.Criteria createCriteria(Class persistentClass, String alias)
           
 org.hibernate.Criteria createCriteria(String entityName)
           
 org.hibernate.Criteria createCriteria(String entityName, String alias)
           
 org.hibernate.Query createFilter(Object collection, String queryString)
           
 org.hibernate.Query createQuery(String queryString)
           
 org.hibernate.SQLQuery createSQLQuery(String queryString)
           
 void delete(Object object)
           
 void disableFilter(String filterName)
           
 Connection disconnect()
           
 org.hibernate.Filter enableFilter(String filterName)
           
 void evict(Object object)
           
 void flush()
           
 Object get(Class clazz, Serializable id)
           
 Object get(Class clazz, Serializable id, org.hibernate.LockMode lockMode)
           
 Object get(String entityName, Serializable id)
           
 Object get(String entityName, Serializable id, org.hibernate.LockMode lockMode)
           
 org.hibernate.CacheMode getCacheMode()
           
 org.hibernate.LockMode getCurrentLockMode(Object object)
           
abstract  org.hibernate.Session getDelegatedSession()
          Obtain hibernate session.
 org.hibernate.Filter getEnabledFilter(String filterName)
           
 org.hibernate.EntityMode getEntityMode()
           
 String getEntityName(Object object)
           
 org.hibernate.FlushMode getFlushMode()
           
 Serializable getIdentifier(Object object)
           
 org.hibernate.Query getNamedQuery(String queryName)
           
 org.hibernate.Session getSession(org.hibernate.EntityMode entityMode)
           
 org.hibernate.SessionFactory getSessionFactory()
           
 org.hibernate.stat.SessionStatistics getStatistics()
           
protected  RuntimeException handleException(RuntimeException cause)
          Invalidates the session calling invalidateDelegatedSession() and convert the cause using a ExceptionHandler if it's available otherwise just return the cause back.
abstract  void invalidateDelegatedSession()
          Perform actions to dispose "burned" session properly.
 boolean isConnected()
           
 boolean isDirty()
           
 boolean isOpen()
           
 Object load(Class theClass, Serializable id)
           
 Object load(Class theClass, Serializable id, org.hibernate.LockMode lockMode)
           
 void load(Object object, Serializable id)
           
 Object load(String entityName, Serializable id)
           
 Object load(String entityName, Serializable id, org.hibernate.LockMode lockMode)
           
 void lock(Object object, org.hibernate.LockMode lockMode)
           
 void lock(String entityEntity, Object object, org.hibernate.LockMode lockMode)
           
 Object merge(Object object)
           
 Object merge(String entityName, Object object)
           
 void persist(Object object)
           
 void persist(String entityName, Object object)
           
 void reconnect()
           
 void reconnect(Connection conn)
           
 void refresh(Object object)
           
 void refresh(Object object, org.hibernate.LockMode lockMode)
           
 void replicate(Object object, org.hibernate.ReplicationMode replicationMode)
           
 void replicate(String entityName, Object object, org.hibernate.ReplicationMode replicationMode)
           
 Serializable save(Object object)
           
 void save(Object object, Serializable id)
           
 Serializable save(String entityName, Object object)
           
 void save(String entityName, Object object, Serializable id)
           
 void saveOrUpdate(Object object)
           
 void saveOrUpdate(String entityName, Object object)
           
 void setCacheMode(org.hibernate.CacheMode cacheMode)
           
 void setFlushMode(org.hibernate.FlushMode value)
           
 void update(Object object)
           
 void update(Object object, Serializable id)
           
 void update(String entityName, Object object)
           
 void update(String entityName, Object object, Serializable id)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

hibernateExceptionHandler

protected ExceptionHandler hibernateExceptionHandler
Constructor Detail

SessionDelegator

public SessionDelegator()

SessionDelegator

public SessionDelegator(ExceptionHandler hibernateExceptionHandler)
Method Detail

getDelegatedSession

public abstract org.hibernate.Session getDelegatedSession()
Obtain hibernate session.


invalidateDelegatedSession

public abstract void invalidateDelegatedSession()
                                         throws org.hibernate.HibernateException
Perform actions to dispose "burned" session properly.

Throws:
org.hibernate.HibernateException

handleException

protected RuntimeException handleException(RuntimeException cause)
                                    throws org.hibernate.HibernateException
Invalidates the session calling invalidateDelegatedSession() and convert the cause using a ExceptionHandler if it's available otherwise just return the cause back.

Throws:
org.hibernate.HibernateException

beginTransaction

public org.hibernate.Transaction beginTransaction()
                                           throws org.hibernate.HibernateException
Specified by:
beginTransaction in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

cancelQuery

public void cancelQuery()
                 throws org.hibernate.HibernateException
Specified by:
cancelQuery in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

clear

public void clear()
Specified by:
clear in interface org.hibernate.Session

close

public Connection close()
                 throws org.hibernate.HibernateException
Specified by:
close in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

connection

public Connection connection()
                      throws org.hibernate.HibernateException
Specified by:
connection in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

contains

public boolean contains(Object object)
Specified by:
contains in interface org.hibernate.Session

createCriteria

public org.hibernate.Criteria createCriteria(Class persistentClass)
Specified by:
createCriteria in interface org.hibernate.Session

createCriteria

public org.hibernate.Criteria createCriteria(Class persistentClass,
                                             String alias)
Specified by:
createCriteria in interface org.hibernate.Session

createCriteria

public org.hibernate.Criteria createCriteria(String entityName)
Specified by:
createCriteria in interface org.hibernate.Session

createCriteria

public org.hibernate.Criteria createCriteria(String entityName,
                                             String alias)
Specified by:
createCriteria in interface org.hibernate.Session

createFilter

public org.hibernate.Query createFilter(Object collection,
                                        String queryString)
                                 throws org.hibernate.HibernateException
Specified by:
createFilter in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

createQuery

public org.hibernate.Query createQuery(String queryString)
                                throws org.hibernate.HibernateException
Specified by:
createQuery in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

createSQLQuery

public org.hibernate.SQLQuery createSQLQuery(String queryString)
                                      throws org.hibernate.HibernateException
Specified by:
createSQLQuery in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

delete

public void delete(Object object)
            throws org.hibernate.HibernateException
Specified by:
delete in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

disableFilter

public void disableFilter(String filterName)
Specified by:
disableFilter in interface org.hibernate.Session

disconnect

public Connection disconnect()
                      throws org.hibernate.HibernateException
Specified by:
disconnect in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

enableFilter

public org.hibernate.Filter enableFilter(String filterName)
Specified by:
enableFilter in interface org.hibernate.Session

evict

public void evict(Object object)
           throws org.hibernate.HibernateException
Specified by:
evict in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

flush

public void flush()
           throws org.hibernate.HibernateException
Specified by:
flush in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

get

public Object get(Class clazz,
                  Serializable id)
           throws org.hibernate.HibernateException
Specified by:
get in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

get

public Object get(Class clazz,
                  Serializable id,
                  org.hibernate.LockMode lockMode)
           throws org.hibernate.HibernateException
Specified by:
get in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

get

public Object get(String entityName,
                  Serializable id)
           throws org.hibernate.HibernateException
Specified by:
get in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

get

public Object get(String entityName,
                  Serializable id,
                  org.hibernate.LockMode lockMode)
           throws org.hibernate.HibernateException
Specified by:
get in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

getCacheMode

public org.hibernate.CacheMode getCacheMode()
Specified by:
getCacheMode in interface org.hibernate.Session

getCurrentLockMode

public org.hibernate.LockMode getCurrentLockMode(Object object)
                                          throws org.hibernate.HibernateException
Specified by:
getCurrentLockMode in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

getEnabledFilter

public org.hibernate.Filter getEnabledFilter(String filterName)
Specified by:
getEnabledFilter in interface org.hibernate.Session

getEntityMode

public org.hibernate.EntityMode getEntityMode()
Specified by:
getEntityMode in interface org.hibernate.Session

getEntityName

public String getEntityName(Object object)
                     throws org.hibernate.HibernateException
Specified by:
getEntityName in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

getFlushMode

public org.hibernate.FlushMode getFlushMode()
Specified by:
getFlushMode in interface org.hibernate.Session

getIdentifier

public Serializable getIdentifier(Object object)
                           throws org.hibernate.HibernateException
Specified by:
getIdentifier in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

getNamedQuery

public org.hibernate.Query getNamedQuery(String queryName)
                                  throws org.hibernate.HibernateException
Specified by:
getNamedQuery in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

getSession

public org.hibernate.Session getSession(org.hibernate.EntityMode entityMode)
Specified by:
getSession in interface org.hibernate.Session

getSessionFactory

public org.hibernate.SessionFactory getSessionFactory()
Specified by:
getSessionFactory in interface org.hibernate.Session

getStatistics

public org.hibernate.stat.SessionStatistics getStatistics()
Specified by:
getStatistics in interface org.hibernate.Session

isConnected

public boolean isConnected()
Specified by:
isConnected in interface org.hibernate.Session

isDirty

public boolean isDirty()
                throws org.hibernate.HibernateException
Specified by:
isDirty in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

isOpen

public boolean isOpen()
Specified by:
isOpen in interface org.hibernate.Session

load

public Object load(Class theClass,
                   Serializable id)
            throws org.hibernate.HibernateException
Specified by:
load in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

load

public Object load(Class theClass,
                   Serializable id,
                   org.hibernate.LockMode lockMode)
            throws org.hibernate.HibernateException
Specified by:
load in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

load

public void load(Object object,
                 Serializable id)
          throws org.hibernate.HibernateException
Specified by:
load in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

load

public Object load(String entityName,
                   Serializable id)
            throws org.hibernate.HibernateException
Specified by:
load in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

load

public Object load(String entityName,
                   Serializable id,
                   org.hibernate.LockMode lockMode)
            throws org.hibernate.HibernateException
Specified by:
load in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

lock

public void lock(Object object,
                 org.hibernate.LockMode lockMode)
          throws org.hibernate.HibernateException
Specified by:
lock in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

lock

public void lock(String entityEntity,
                 Object object,
                 org.hibernate.LockMode lockMode)
          throws org.hibernate.HibernateException
Specified by:
lock in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

merge

public Object merge(Object object)
             throws org.hibernate.HibernateException
Specified by:
merge in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

merge

public Object merge(String entityName,
                    Object object)
             throws org.hibernate.HibernateException
Specified by:
merge in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

persist

public void persist(Object object)
             throws org.hibernate.HibernateException
Specified by:
persist in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

persist

public void persist(String entityName,
                    Object object)
             throws org.hibernate.HibernateException
Specified by:
persist in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

reconnect

public void reconnect()
               throws org.hibernate.HibernateException
Specified by:
reconnect in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

reconnect

public void reconnect(Connection conn)
               throws org.hibernate.HibernateException
Specified by:
reconnect in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

refresh

public void refresh(Object object)
             throws org.hibernate.HibernateException
Specified by:
refresh in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

refresh

public void refresh(Object object,
                    org.hibernate.LockMode lockMode)
             throws org.hibernate.HibernateException
Specified by:
refresh in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

replicate

public void replicate(Object object,
                      org.hibernate.ReplicationMode replicationMode)
               throws org.hibernate.HibernateException
Specified by:
replicate in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

replicate

public void replicate(String entityName,
                      Object object,
                      org.hibernate.ReplicationMode replicationMode)
               throws org.hibernate.HibernateException
Specified by:
replicate in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

save

public Serializable save(Object object)
                  throws org.hibernate.HibernateException
Specified by:
save in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

save

public void save(Object object,
                 Serializable id)
          throws org.hibernate.HibernateException
Specified by:
save in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

save

public Serializable save(String entityName,
                         Object object)
                  throws org.hibernate.HibernateException
Specified by:
save in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

save

public void save(String entityName,
                 Object object,
                 Serializable id)
          throws org.hibernate.HibernateException
Specified by:
save in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

saveOrUpdate

public void saveOrUpdate(Object object)
                  throws org.hibernate.HibernateException
Specified by:
saveOrUpdate in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

saveOrUpdate

public void saveOrUpdate(String entityName,
                         Object object)
                  throws org.hibernate.HibernateException
Specified by:
saveOrUpdate in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

setCacheMode

public void setCacheMode(org.hibernate.CacheMode cacheMode)
Specified by:
setCacheMode in interface org.hibernate.Session

setFlushMode

public void setFlushMode(org.hibernate.FlushMode value)
Specified by:
setFlushMode in interface org.hibernate.Session

update

public void update(Object object)
            throws org.hibernate.HibernateException
Specified by:
update in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

update

public void update(Object object,
                   Serializable id)
            throws org.hibernate.HibernateException
Specified by:
update in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

update

public void update(String entityName,
                   Object object)
            throws org.hibernate.HibernateException
Specified by:
update in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException

update

public void update(String entityName,
                   Object object,
                   Serializable id)
            throws org.hibernate.HibernateException
Specified by:
update in interface org.hibernate.Session
Throws:
org.hibernate.HibernateException


Copyright 2003-2003-2006 Codehaus. All Rights Reserved.