source: trunk/grails-app/domain/nl/tno/metagenomics/Sample.groovy @ 28

Last change on this file since 28 was 28, checked in by robert@…, 8 years ago

Renamed module to massSequencing

File size: 838 bytes
Line 
1package nl.tno.massSequencing
2
3/**
4* Minimal representation of a sample. The sampleToken is the link with a sample object in GSCF.
5*
6* @see GscfService.getSample
7*/
8class Sample {
9        String  sampleToken             // Unique within a study
10        String  name
11        String  subject
12        String  event
13       
14        static belongsTo    = [ study: Study ]
15        static hasMany      = [ assaySamples: AssaySample ]
16        static mapping = {
17                columns {
18                        assayToken index:'sampletoken_idx'
19                }
20                assaySamples cascade: "all-delete-orphan"
21        }
22        static constraints = {
23                subject(nullable: true)
24                event(nullable: true)
25        }
26       
27        public static cloneSample( Sample otherSample, String newSampleToken, Study otherStudy ) {
28                return new Sample( 
29                        sampleToken: newSampleToken, 
30                        name: otherSample.name, 
31                        subject: otherSample.subject, 
32                        event: otherSample.event, 
33                        study: otherStudy
34                );
35        }
36}
Note: See TracBrowser for help on using the repository browser.