3 * Copyright (C) 2015 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
10 package eu
.etaxonomy
.cdm
.api
.service
.dto
;
13 import java
.util
.ArrayList
;
14 import java
.util
.List
;
15 import java
.util
.UUID
;
22 public class DerivateDataDTO
{
24 private List
<Link
> specimenScans
;
25 private List
<MolecularData
> molecularDataList
;
26 private List
<Link
> detailImages
;
27 private List
<UUID
> specimenScanUuids
;
28 private List
<UUID
> detailImageUuids
;
31 * @return the molecularData
33 public List
<MolecularData
> getMolecularDataList() {
34 return molecularDataList
;
37 public MolecularData
addProviderLink(URI uri
, String linkText
) {
38 if(this.molecularDataList
==null){
39 molecularDataList
= new ArrayList
<MolecularData
>();
41 MolecularData molecularData
= new MolecularData(new Link(uri
, linkText
));
42 this.molecularDataList
.add(molecularData
);
47 * @return the specimenScans
49 public List
<Link
> getSpecimenScans() {
53 public void addSpecimenScan(URI uri
, String linkText
){
54 if(specimenScans
==null){
55 specimenScans
= new ArrayList
<Link
>();
57 specimenScans
.add(new Link(uri
, linkText
));
61 * @return the detailImages
63 public List
<Link
> getDetailImages() {
67 public void addDetailImage(URI uri
, String motif
){
68 if(detailImages
==null){
69 detailImages
= new ArrayList
<Link
>();
71 detailImages
.add(new Link(uri
, motif
));
75 * @return the specimenScanUuids
77 public List
<UUID
> getSpecimenScanUuids() {
78 return specimenScanUuids
;
81 public void addSpecimenScanUuid(UUID uuid
){
82 if(specimenScanUuids
==null){
83 specimenScanUuids
= new ArrayList
<UUID
>();
85 specimenScanUuids
.add(uuid
);
89 * @return the detailImageUuids
91 public List
<UUID
> getDetailImageUuids() {
92 return detailImageUuids
;
95 public void addDetailImageUuid(UUID uuid
){
96 if(detailImageUuids
==null){
97 detailImageUuids
= new ArrayList
<UUID
>();
99 detailImageUuids
.add(uuid
);
102 public class MolecularData
{
103 private final Link providerLink
;
104 private List
<ContigFile
> contigFiles
;
106 public MolecularData(Link providerLink
) {
108 this.providerLink
= providerLink
;
111 public ContigFile
addContigFile(URI uri
, String linkText
){
112 if(contigFiles
==null){
113 contigFiles
= new ArrayList
<ContigFile
>();
115 ContigFile contigFile
= new ContigFile(new Link(uri
, linkText
));
116 contigFiles
.add(contigFile
);
120 public synchronized Link
getProviderLink() {
124 public List
<ContigFile
> getContigFiles() {
130 public class ContigFile
{
131 private final Link contigLink
;
132 private List
<Link
> primerLinks
;
134 public ContigFile(Link contigLink
) {
135 this.contigLink
= contigLink
;
138 public void addPrimerLink(URI uri
, String linkText
){
139 if(primerLinks
==null){
140 primerLinks
= new ArrayList
<Link
>();
142 primerLinks
.add(new Link(uri
, linkText
));
145 public Link
getContigLink() {
149 public List
<Link
> getPrimerLinks() {
156 private String linkText
;
159 public Link(URI uri
, String linkText
) {
161 this.linkText
= linkText
;
165 * @return the linkText
167 public synchronized String
getLinkText() {
171 * @param linkText the linkText to set
173 public synchronized void setLinkText(String linkText
) {
174 this.linkText
= linkText
;
179 public synchronized URI
getUri() {
183 * @param uri the uri to set
185 public synchronized void setUri(URI uri
) {
189 * @see java.lang.Object#hashCode()
192 public int hashCode() {
193 final int prime
= 31;
195 result
= prime
* result
+ ((linkText
== null) ?
0 : linkText
.hashCode());
196 result
= prime
* result
+ ((uri
== null) ?
0 : uri
.hashCode());
200 * @see java.lang.Object#equals(java.lang.Object)
203 public boolean equals(Object obj
) {
210 if (getClass() != obj
.getClass()) {
213 Link other
= (Link
) obj
;
214 if (linkText
== null) {
215 if (other
.linkText
!= null) {
218 } else if (!linkText
.equals(other
.linkText
)) {
222 if (other
.uri
!= null) {
225 } else if (!uri
.equals(other
.uri
)) {