DomainBuilder

Last updated by admin 3 years ago
DomainBuilder is a builder for an arbitrary graph of Grails domain objects. It is based on Groovy's ObjectGraphBuilder. DomainBuilder can be especially helpful in creating BootStrap data.

With the following domain classes:  

class Company
{
	String name
	static hasMany = [employees:Employee]
}

class Employee { int employeeId String name Address address Company company }

class Address { String street static belongsTo = Employee }

A company with employees can be built with:
def builder = new DomainBuilder()

def company = builder.company( name: "Spacely Space Sprockets" ) { employee( name: 'Cosmo', employeeId: 1 ) { address( street: '123 Groovy Rd' ) } employee( name: 'George', employeeId: 2 ) }

assert company.employees.size() == 2

The description of ObjectGraphBuilder includes a similar example along with more details about what is going on behind the scenes.