source: trunk/grails-app/domain/dbnp/studycapturing/Template.groovy @ 146

Last change on this file since 146 was 146, checked in by keesvb, 10 years ago

added helper functions to Subject and Template classes to easily get the template fields, and added a demonstration of use in the sandbox

File size: 972 bytes
Line 
1package dbnp.studycapturing
2
3/**
4 * The Template class describes a study template, which is basically an extension of the study capture entities
5 * in terms of extra fields (described by classes that extend the TemplateField class).
6 * At this moment, only extension of the subject entity is implemented.
7 *
8 * Revision information:
9 * $Rev$
10 * $Author$
11 * $Date$
12 */
13class Template implements Serializable {
14        String name
15        //nimble.User owner
16
17        static hasMany = [subjectFields: TemplateSubjectField]
18
19        static constraints = {
20                name(unique: true)
21        }
22
23        def String toString() {
24                return this.name;
25        }
26
27        /**
28         * Look up the type of a certain template subject field
29         * @param fieldName The name of the template field
30         * @return The type (static member of TemplateFieldType) of the field, or null of the field does not exist
31         */
32        def TemplateFieldType getSubjectFieldType(String fieldName) {
33                def field = subjectFields.find {
34                        it.name == fieldName   
35                }
36                field?.type
37        }
38}
Note: See TracBrowser for help on using the repository browser.