org.codehaus.groovy.grails.orm.hibernate
Class ConfigurableLocalSessionFactoryBean

java.lang.Object
  extended by org.springframework.orm.hibernate3.AbstractSessionFactoryBean
      extended by org.springframework.orm.hibernate3.LocalSessionFactoryBean
          extended by org.codehaus.groovy.grails.orm.hibernate.ConfigurableLocalSessionFactoryBean
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.FactoryBean<org.hibernate.SessionFactory>, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, org.springframework.dao.support.PersistenceExceptionTranslator

public class ConfigurableLocalSessionFactoryBean
extends org.springframework.orm.hibernate3.LocalSessionFactoryBean
implements org.springframework.context.ApplicationContextAware

A SessionFactory bean that allows the configuration class to be changed and customise for usage within Grails.

Since:
07-Jul-2005

Field Summary
protected  org.springframework.context.ApplicationContext applicationContext
           
protected  java.lang.ClassLoader classLoader
           
protected  java.lang.Class<?> configClass
           
protected  java.lang.Class<?> currentSessionContextClass
           
protected  org.codehaus.groovy.grails.commons.GrailsApplication grailsApplication
           
protected  HibernateEventListeners hibernateEventListeners
           
protected  boolean proxyIfReloadEnabled
           
 
Fields inherited from class org.springframework.orm.hibernate3.AbstractSessionFactoryBean
logger
 
Constructor Summary
ConfigurableLocalSessionFactoryBean()
           
 
Method Summary
 void afterPropertiesSet()
           
 void destroy()
           
 org.codehaus.groovy.grails.commons.GrailsApplication getGrailsApplication()
           
protected  org.hibernate.cfg.Configuration newConfiguration()
          Overrides default behaviour to allow for a configurable configuration class.
protected  org.hibernate.SessionFactory newSessionFactory(org.hibernate.cfg.Configuration configuration)
           
protected  void postProcessConfiguration(org.hibernate.cfg.Configuration config)
           
 void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
           
 void setBeanClassLoader(java.lang.ClassLoader beanClassLoader)
           
 void setConfigClass(java.lang.Class<?> configClass)
          Sets the class to be used for Hibernate Configuration.
 void setCurrentSessionContextClass(java.lang.Class<?> currentSessionContextClass)
          Sets class to be used for the Hibernate CurrentSessionContext.
 void setDataSourceName(java.lang.String name)
           
 void setGrailsApplication(org.codehaus.groovy.grails.commons.GrailsApplication grailsApplication)
           
 void setHibernateEventListeners(HibernateEventListeners listeners)
           
 void setProxyIfReloadEnabled(boolean proxyIfReloadEnabled)
           
 void setSessionFactoryBeanName(java.lang.String name)
           
 
Methods inherited from class org.springframework.orm.hibernate3.LocalSessionFactoryBean
afterSessionFactoryCreation, buildSessionFactory, createDatabaseSchema, dropDatabaseSchema, executeSchemaScript, executeSchemaStatement, getConfigTimeCacheProvider, getConfigTimeDataSource, getConfigTimeLobHandler, getConfigTimeTransactionManager, getConfiguration, getHibernateProperties, postProcessMappings, setCacheableMappingLocations, setCacheProvider, setCacheRegionFactory, setCollectionCacheStrategies, setConfigLocation, setConfigLocations, setConfigurationClass, setEntityCacheStrategies, setEntityInterceptor, setEventListeners, setFilterDefinitions, setHibernateProperties, setJtaTransactionManager, setLobHandler, setMappingDirectoryLocations, setMappingJarLocations, setMappingLocations, setMappingResources, setNamingStrategy, setSchemaUpdate, setTypeDefinitions, updateDatabaseSchema, validateDatabaseSchema
 
Methods inherited from class org.springframework.orm.hibernate3.AbstractSessionFactoryBean
beforeSessionFactoryDestruction, convertHibernateAccessException, getDataSource, getObject, getObjectType, getSessionFactory, isExposeTransactionAwareSessionFactory, isSingleton, isUseTransactionAwareDataSource, setDataSource, setExposeTransactionAwareSessionFactory, setJdbcExceptionTranslator, setUseTransactionAwareDataSource, translateExceptionIfPossible, wrapSessionFactoryIfNecessary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

classLoader

protected java.lang.ClassLoader classLoader

grailsApplication

protected org.codehaus.groovy.grails.commons.GrailsApplication grailsApplication

configClass

protected java.lang.Class<?> configClass

currentSessionContextClass

protected java.lang.Class<?> currentSessionContextClass

hibernateEventListeners

protected HibernateEventListeners hibernateEventListeners

applicationContext

protected org.springframework.context.ApplicationContext applicationContext

proxyIfReloadEnabled

protected boolean proxyIfReloadEnabled
Constructor Detail

ConfigurableLocalSessionFactoryBean

public ConfigurableLocalSessionFactoryBean()
Method Detail

setProxyIfReloadEnabled

public void setProxyIfReloadEnabled(boolean proxyIfReloadEnabled)
Parameters:
proxyIfReloadEnabled - Sets whether a proxy should be created if reload is enabled

setCurrentSessionContextClass

public void setCurrentSessionContextClass(java.lang.Class<?> currentSessionContextClass)
Sets class to be used for the Hibernate CurrentSessionContext.

Parameters:
currentSessionContextClass - An implementation of the CurrentSessionContext interface

setConfigClass

public void setConfigClass(java.lang.Class<?> configClass)
Sets the class to be used for Hibernate Configuration.

Parameters:
configClass - A subclass of the Hibernate Configuration class

getGrailsApplication

public org.codehaus.groovy.grails.commons.GrailsApplication getGrailsApplication()
Returns:
Returns the grailsApplication.

setGrailsApplication

public void setGrailsApplication(org.codehaus.groovy.grails.commons.GrailsApplication grailsApplication)
Parameters:
grailsApplication - The grailsApplication to set.

newConfiguration

protected org.hibernate.cfg.Configuration newConfiguration()
Overrides default behaviour to allow for a configurable configuration class.

Overrides:
newConfiguration in class org.springframework.orm.hibernate3.LocalSessionFactoryBean

setBeanClassLoader

public void setBeanClassLoader(java.lang.ClassLoader beanClassLoader)
Specified by:
setBeanClassLoader in interface org.springframework.beans.factory.BeanClassLoaderAware
Overrides:
setBeanClassLoader in class org.springframework.orm.hibernate3.LocalSessionFactoryBean

afterPropertiesSet

public void afterPropertiesSet()
                        throws java.lang.Exception
Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
Overrides:
afterPropertiesSet in class org.springframework.orm.hibernate3.AbstractSessionFactoryBean
Throws:
java.lang.Exception

newSessionFactory

protected org.hibernate.SessionFactory newSessionFactory(org.hibernate.cfg.Configuration configuration)
                                                  throws org.hibernate.HibernateException
Overrides:
newSessionFactory in class org.springframework.orm.hibernate3.LocalSessionFactoryBean
Throws:
org.hibernate.HibernateException

destroy

public void destroy()
             throws org.hibernate.HibernateException
Specified by:
destroy in interface org.springframework.beans.factory.DisposableBean
Overrides:
destroy in class org.springframework.orm.hibernate3.LocalSessionFactoryBean
Throws:
org.hibernate.HibernateException

postProcessConfiguration

protected void postProcessConfiguration(org.hibernate.cfg.Configuration config)
                                 throws org.hibernate.HibernateException
Overrides:
postProcessConfiguration in class org.springframework.orm.hibernate3.LocalSessionFactoryBean
Throws:
org.hibernate.HibernateException

setApplicationContext

public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
                           throws org.springframework.beans.BeansException
Specified by:
setApplicationContext in interface org.springframework.context.ApplicationContextAware
Throws:
org.springframework.beans.BeansException

setHibernateEventListeners

public void setHibernateEventListeners(HibernateEventListeners listeners)

setSessionFactoryBeanName

public void setSessionFactoryBeanName(java.lang.String name)

setDataSourceName

public void setDataSourceName(java.lang.String name)