org.codehaus.groovy.grails.orm.hibernate.cfg
Class GrailsAnnotationConfiguration

java.lang.Object
  extended by org.hibernate.cfg.Configuration
      extended by org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsAnnotationConfiguration
All Implemented Interfaces:
java.io.Serializable, org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainConfiguration, org.springframework.beans.factory.InitializingBean

public class GrailsAnnotationConfiguration
extends org.hibernate.cfg.Configuration
implements org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainConfiguration, org.springframework.beans.factory.InitializingBean

Allows configuring Grails' hibernate support to work in conjuntion with Hibernate's annotation support.

Since:
18-Feb-2006
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.hibernate.cfg.Configuration
org.hibernate.cfg.Configuration.MappingsImpl, org.hibernate.cfg.Configuration.MetadataSourceQueue
 
Field Summary
protected  GrailsDomainBinder binder
           
 
Fields inherited from class org.hibernate.cfg.Configuration
ARTEFACT_PROCESSING_ORDER, auxiliaryDatabaseObjects, classes, collections, columnNameBindingPerTable, DEFAULT_ARTEFACT_PROCESSING_ORDER, DEFAULT_CACHE_CONCURRENCY_STRATEGY, extendsQueue, fetchProfiles, filterDefinitions, imports, metadataSourceQueue, namedQueries, namedSqlQueries, namingStrategy, propertyReferences, secondPasses, settingsFactory, sqlFunctions, sqlResultSetMappings, tableNameBinding, tables, typeDefs, USE_NEW_ID_GENERATOR_MAPPINGS, xmlHelper
 
Constructor Summary
GrailsAnnotationConfiguration()
           
 
Method Summary
 void addAnnotatedClasses(java.lang.Class<?>... annotatedClasses)
          Add the given annotated classes in a batch.
 org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainConfiguration addDomainClass(org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass)
           
 void addPackages(java.lang.String... annotatedPackages)
          Add the given annotated packages in a batch.
 void afterPropertiesSet()
           
 org.hibernate.SessionFactory buildSessionFactory()
           
 org.hibernate.service.ServiceRegistry getServiceRegistry()
           
protected  boolean matchesFilter(org.springframework.core.type.classreading.MetadataReader reader, org.springframework.core.type.classreading.MetadataReaderFactory readerFactory)
          Check whether any of the configured entity type filters matches the current class descriptor contained in the metadata reader.
 void scanPackages(java.lang.String... packagesToScan)
          Perform Spring-based scanning for entity classes, registering them as annotated classes with this Configuration.
protected  void secondPassCompile()
          Overrides the default behaviour to including binding of Grails domain classes.
 void setDataSourceName(java.lang.String name)
           
 void setEventListeners(java.util.Map<java.lang.String,java.lang.Object> listeners)
          Default listeners.
 void setGrailsApplication(org.codehaus.groovy.grails.commons.GrailsApplication application)
           
 void setHibernateEventListeners(org.codehaus.groovy.grails.orm.hibernate.HibernateEventListeners listeners)
          User-specifiable extra listeners.
 void setSessionFactoryBeanName(java.lang.String name)
           
 
Methods inherited from class org.hibernate.cfg.Configuration
add, addAnnotatedClass, addAuxiliaryDatabaseObject, addCacheableFile, addCacheableFile, addCacheableFileStrictly, addClass, addDirectory, addDocument, addFetchProfile, addFile, addFile, addFilterDefinition, addInputStream, addJar, addPackage, addProperties, addResource, addResource, addSqlFunction, addURL, addXML, buildMapping, buildMappings, buildSessionFactory, buildSettings, buildSettings, configure, configure, configure, configure, configure, createMappings, doConfigure, doConfigure, findPossibleExtends, generateDropSchemaScript, generateSchemaCreationScript, generateSchemaUpdateScript, getClassMapping, getClassMappings, getCollectionMapping, getCollectionMappings, getConfigurationInputStream, getCurrentTenantIdentifierResolver, getEntityNotFoundDelegate, getEntityResolver, getEntityTuplizerFactory, getFilterDefinitions, getIdentifierGeneratorFactory, getImports, getInterceptor, getMappedSuperclassMappings, getNamedQueries, getNamedSQLQueries, getNamingStrategy, getProperties, getProperty, getReflectionManager, getSessionFactoryObserver, getSqlFunctions, getSqlResultSetMappings, getTableMappings, getTypeResolver, iterateFetchProfiles, mergeProperties, registerTypeOverride, registerTypeOverride, registerTypeOverride, reset, secondPassCompileForeignKeys, setCacheConcurrencyStrategy, setCacheConcurrencyStrategy, setCacheConcurrencyStrategy, setCollectionCacheConcurrencyStrategy, setCollectionCacheConcurrencyStrategy, setCurrentTenantIdentifierResolver, setEntityNotFoundDelegate, setEntityResolver, setInterceptor, setNamingStrategy, setPrecedence, setProperties, setProperty, setSessionFactoryObserver, validateSchema
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

binder

protected GrailsDomainBinder binder
Constructor Detail

GrailsAnnotationConfiguration

public GrailsAnnotationConfiguration()
Method Detail

addDomainClass

public org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainConfiguration addDomainClass(org.codehaus.groovy.grails.commons.GrailsDomainClass domainClass)
Specified by:
addDomainClass in interface org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainConfiguration

setGrailsApplication

public void setGrailsApplication(org.codehaus.groovy.grails.commons.GrailsApplication application)
Specified by:
setGrailsApplication in interface org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainConfiguration

setSessionFactoryBeanName

public void setSessionFactoryBeanName(java.lang.String name)
Specified by:
setSessionFactoryBeanName in interface org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainConfiguration

setDataSourceName

public void setDataSourceName(java.lang.String name)
Specified by:
setDataSourceName in interface org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainConfiguration

secondPassCompile

protected void secondPassCompile()
                          throws org.hibernate.MappingException
Overrides the default behaviour to including binding of Grails domain classes.

Overrides:
secondPassCompile in class org.hibernate.cfg.Configuration
Throws:
org.hibernate.MappingException

addAnnotatedClasses

public void addAnnotatedClasses(java.lang.Class<?>... annotatedClasses)
Add the given annotated classes in a batch.

See Also:
Configuration.addAnnotatedClass(java.lang.Class), scanPackages(java.lang.String...)

addPackages

public void addPackages(java.lang.String... annotatedPackages)
Add the given annotated packages in a batch.

See Also:
Configuration.addPackage(java.lang.String), scanPackages(java.lang.String...)

setEventListeners

public void setEventListeners(java.util.Map<java.lang.String,java.lang.Object> listeners)
Default listeners.

Parameters:
listeners - the listeners

setHibernateEventListeners

public void setHibernateEventListeners(org.codehaus.groovy.grails.orm.hibernate.HibernateEventListeners listeners)
User-specifiable extra listeners.

Parameters:
listeners - the listeners

scanPackages

public void scanPackages(java.lang.String... packagesToScan)
                  throws org.hibernate.HibernateException
Perform Spring-based scanning for entity classes, registering them as annotated classes with this Configuration.

Parameters:
packagesToScan - one or more Java package names
Throws:
org.hibernate.HibernateException - if scanning fails for any reason

matchesFilter

protected boolean matchesFilter(org.springframework.core.type.classreading.MetadataReader reader,
                                org.springframework.core.type.classreading.MetadataReaderFactory readerFactory)
                         throws java.io.IOException
Check whether any of the configured entity type filters matches the current class descriptor contained in the metadata reader.

Throws:
java.io.IOException

buildSessionFactory

public org.hibernate.SessionFactory buildSessionFactory()
                                                 throws org.hibernate.HibernateException
Overrides:
buildSessionFactory in class org.hibernate.cfg.Configuration
Throws:
org.hibernate.HibernateException

getServiceRegistry

public org.hibernate.service.ServiceRegistry getServiceRegistry()

afterPropertiesSet

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