source: trunk/grails-app/domain/dbnp/studycapturing/TemplateFieldType.groovy @ 500

Last change on this file since 500 was 500, checked in by duh, 11 years ago
  • reformatted some indentations
  • set svn keyword expansion
  • Property svn:keywords set to Date Rev Author
File size: 1.1 KB
Line 
1package dbnp.studycapturing
2
3/**
4 * Enum describing the type of a templated field.
5 * Revision information:
6 * $Rev: 500 $
7 * $Author: duh $
8 * $Date: 2010-05-31 08:24:00 +0000 (ma, 31 mei 2010) $
9 */
10public enum TemplateFieldType implements Serializable  {
11        STRING('String'),
12        TEXT('Long string'),
13        INTEGER('Integer number'),
14        FLOAT('Floating-point number'),
15        DOUBLE('Double precision floating-point number'),
16        STRINGLIST('List of items'),
17        ONTOLOGYTERM('Ontology Reference'),
18        DATE('Date'),
19        RELTIME('Relative time') // relative date, e.g. days since start of study
20
21        String name
22
23        TemplateFieldType(String name) {
24                this.name = name
25        }
26
27        static list() {
28                [STRING, TEXT, INTEGER, FLOAT, DOUBLE, STRINGLIST, ONTOLOGYTERM, DATE, RELTIME]
29        }
30
31        def getDefaultValue() {
32                switch (this) {
33                        case [STRING, TEXT]:
34                                return ""
35                        case INTEGER:
36                                return Integer.MIN_VALUE
37                        case FLOAT:
38                                return Float.NaN
39                        case DOUBLE:
40                                return Double.MIN_VALUE
41                        case STRINGLIST:
42                                return null
43                        case ONTOLOGYTERM:
44                                return null
45                        case DATE:
46                                return null
47                        case RELTIME:
48                                return null
49                        default:
50                                throw new NoSuchFieldException("Field type ${fieldType} not recognized")
51                }
52        }
53}
Note: See TracBrowser for help on using the repository browser.