2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
10 package eu
.etaxonomy
.cdm
.model
.molecular
;
13 import eu
.etaxonomy
.cdm
.model
.media
.IMediaDocumented
;
14 import eu
.etaxonomy
.cdm
.model
.media
.Media
;
15 import eu
.etaxonomy
.cdm
.model
.reference
.ReferenceBase
;
16 import eu
.etaxonomy
.cdm
.model
.common
.IdentifiableEntity
;
17 import eu
.etaxonomy
.cdm
.model
.common
.IReferencedEntity
;
18 import org
.apache
.log4j
.Logger
;
19 import org
.hibernate
.annotations
.Index
;
20 import org
.hibernate
.annotations
.Table
;
24 import javax
.persistence
.*;
29 * @created 08-Nov-2007 13:06:51
32 @Table(appliesTo
="Sequence", indexes
= { @Index(name
= "sequenceTitleCacheIndex", columnNames
= { "persistentTitleCache" }) })
33 public class Sequence
extends IdentifiableEntity
implements IReferencedEntity
, IMediaDocumented
{
34 private static final Logger logger
= Logger
.getLogger(Sequence
.class);
36 //the sequence as a string of base pairs. 5'->3'
37 private String sequence
;
38 //should be calculated in case sequence is set
39 private Integer length
;
40 //should be calculated in case sequence is set
41 private Calendar dateSequenced
;
42 //should be calculated in case sequence is set
43 private boolean isBarcode
;
44 //the sequence as a string of base pairs. 5'->3'
45 private String citationMicroReference
;
46 private ReferenceBase publishedIn
;
47 private Set
<ReferenceBase
> citations
= new HashSet();
48 private Set
<GenBankAccession
> genBankAccession
= new HashSet();
50 private Set
<Media
> chromatograms
= new HashSet();
53 public Locus
getLocus(){
56 public void setLocus(Locus locus
){
61 public ReferenceBase
getPublishedIn(){
62 return this.publishedIn
;
64 public void setPublishedIn(ReferenceBase publishedIn
){
65 this.publishedIn
= publishedIn
;
71 public Set
<ReferenceBase
> getCitations() {
74 protected void setCitations(Set
<ReferenceBase
> citations
) {
75 this.citations
= citations
;
77 public void addCitation(ReferenceBase citation
) {
78 this.citations
.add(citation
);
80 public void removeCitation(ReferenceBase citation
) {
81 this.citations
.remove(citation
);
86 public Set
<GenBankAccession
> getGenBankAccession() {
87 return genBankAccession
;
90 protected void setGenBankAccession(Set
<GenBankAccession
> genBankAccession
) {
91 this.genBankAccession
= genBankAccession
;
93 public void addGenBankAccession(GenBankAccession genBankAccession
) {
94 this.genBankAccession
.add(genBankAccession
);
96 public void removeGenBankAccession(GenBankAccession genBankAccession
) {
97 this.genBankAccession
.remove(genBankAccession
);
102 public Set
<Media
> getChromatograms() {
103 return chromatograms
;
106 protected void setChromatograms(Set
<Media
> chromatograms
) {
107 this.chromatograms
= chromatograms
;
109 public void addChromatogram(Media chromatogram
) {
110 this.chromatograms
.add(chromatogram
);
112 public void removeChromatogram(Media chromatogram
) {
113 this.chromatograms
.remove(chromatogram
);
117 public Set
<Media
> getMedia() {
118 return getChromatograms();
122 public String
getSequence(){
123 return this.sequence
;
128 * @param sequence sequence
130 public void setSequence(String sequence
){
131 this.sequence
= sequence
;
134 public Integer
getLength(){
140 * @param length length
142 public void setLength(Integer length
){
143 this.length
= length
;
146 @Temporal(TemporalType
.DATE
)
147 public Calendar
getDateSequenced(){
148 return this.dateSequenced
;
153 * @param dateSequenced dateSequenced
155 public void setDateSequenced(Calendar dateSequenced
){
156 this.dateSequenced
= dateSequenced
;
159 public boolean isBarcode(){
160 return this.isBarcode
;
165 * @param isBarcode isBarcode
167 public void setBarcode(boolean isBarcode
){
168 this.isBarcode
= isBarcode
;
171 public String
getCitationMicroReference(){
172 return this.citationMicroReference
;
177 * @param citationMicroReference citationMicroReference
179 public void setCitationMicroReference(String citationMicroReference
){
180 this.citationMicroReference
= citationMicroReference
;
183 public String
generateTitle(){
188 public ReferenceBase
getCitation(){