Groovy Documentation

org.codehaus.groovy.grails.orm.hibernate.cfg
[Java] Class GrailsDomainBinder

java.lang.Object
  org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsDomainBinder

public final class GrailsDomainBinder

Handles the binding Grails domain classes and properties to the Hibernate runtime meta model. Based on the HbmBinder code in Hibernate core and influenced by AnnotationsBinder.

Authors:
Graeme Rocher
Since:
0.1


Field Summary
static NamingStrategy namingStrategy

Overrideable naming strategy.

 
Method Summary
static void bindClass(GrailsDomainClass domainClass, Mappings mappings)

Binds a Grails domain class to the Hibernate runtime meta model

protected static void bindNumericColumnConstraints(Column column, ConstrainedProperty constrainedProperty)

Interrogates the specified constraints looking for any constraints that would limit the precision and/or scale of the property's value.

static void bindRoot(GrailsDomainClass domainClass, Mappings mappings)

Binds a root class (one with no super classes) to the runtime meta model based on the supplied Grails domain class

protected static void bindStringColumnConstraints(Column column, ConstrainedProperty constrainedProperty)

Interrogates the specified constraints looking for any constraints that would limit the length of the property's value.

static void configureNamingStrategy(java.lang.Object strategy)

Override the default naming strategy given a Class or a full class name.

protected static void createClassProperties(GrailsDomainClass domainClass, PersistentClass persistentClass, Mappings mappings)

Creates and binds the properties for the specified Grails domain class and PersistantClass and binds them to the Hibernate runtime meta model

static Mapping evaluateMapping(GrailsDomainClass domainClass)

Evaluates a Mapping object from the domain class if it has a mapping closure

static Mapping evaluateMapping(GrailsDomainClass domainClass, groovy.lang.Closure defaultMapping)

static Mapping getMapping(java.lang.Class theClass)

Obtains a mapping object for the given domain class nam

static Mapping getMapping(GrailsDomainClass domainClass)

Obtains a mapping object for the given domain class nam

static PropertyConfig getPropertyConfig(GrailsDomainClassProperty property)

 
Methods inherited from class java.lang.Object
java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Field Detail

namingStrategy

public static NamingStrategy namingStrategy
Overrideable naming strategy. Defaults to ImprovedNamingStrategy but can be configured in DataSource.groovy via hibernate.naming_strategy = ....


 
Method Detail

bindClass

public static void bindClass(GrailsDomainClass domainClass, Mappings mappings)
Binds a Grails domain class to the Hibernate runtime meta model
throws:
MappingException Thrown if the domain class uses inheritance which is not supported
Parameters:
domainClass - The domain class to bind
mappings - The existing mappings


bindNumericColumnConstraints

protected static void bindNumericColumnConstraints(Column column, ConstrainedProperty constrainedProperty)
Interrogates the specified constraints looking for any constraints that would limit the precision and/or scale of the property's value. If such constraints exist, this method adjusts the precision and/or scale of the column accordingly.
Parameters:
column - the column that corresponds to the property
constrainedProperty - the property's constraints


bindRoot

public static void bindRoot(GrailsDomainClass domainClass, Mappings mappings)
Binds a root class (one with no super classes) to the runtime meta model based on the supplied Grails domain class
Parameters:
domainClass - The Grails domain class
mappings - The Hibernate Mappings object


bindStringColumnConstraints

protected static void bindStringColumnConstraints(Column column, ConstrainedProperty constrainedProperty)
Interrogates the specified constraints looking for any constraints that would limit the length of the property's value. If such constraints exist, this method adjusts the length of the column accordingly.
Parameters:
column - the column that corresponds to the property
constrainedProperty - the property's constraints


configureNamingStrategy

public static void configureNamingStrategy(java.lang.Object strategy)
Override the default naming strategy given a Class or a full class name.
throws:
ClassNotFoundException
throws:
InstantiationException
throws:
IllegalAccessException
Parameters:
strategy - the class or name


createClassProperties

protected static void createClassProperties(GrailsDomainClass domainClass, PersistentClass persistentClass, Mappings mappings)
Creates and binds the properties for the specified Grails domain class and PersistantClass and binds them to the Hibernate runtime meta model
Parameters:
domainClass - The Grails domain class
persistentClass - The Hibernate PersistentClass instance
mappings - The Hibernate Mappings instance


evaluateMapping

public static Mapping evaluateMapping(GrailsDomainClass domainClass)
Evaluates a Mapping object from the domain class if it has a mapping closure
Parameters:
domainClass - The domain class
Returns:
the mapping


evaluateMapping

public static Mapping evaluateMapping(GrailsDomainClass domainClass, groovy.lang.Closure defaultMapping)


getMapping

public static Mapping getMapping(java.lang.Class theClass)
Obtains a mapping object for the given domain class nam
Parameters:
theClass - The domain class in question
Returns:
A Mapping object or null


getMapping

public static Mapping getMapping(GrailsDomainClass domainClass)
Obtains a mapping object for the given domain class nam
Parameters:
domainClass - The domain class in question
Returns:
A Mapping object or null


getPropertyConfig

public static PropertyConfig getPropertyConfig(GrailsDomainClassProperty property)


 

Groovy Documentation