Project

General

Profile

Download (2.95 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2014 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
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.
8
*/
9
package eu.etaxonomy.cdm.api.service.dto;
10

    
11
import java.util.ArrayList;
12
import java.util.List;
13
import java.util.UUID;
14

    
15
import org.joda.time.DateTime;
16

    
17
/**
18
 * @author a.mueller
19
 * @since 2014-05-20
20
 */
21
public class IncludedTaxaDTO {
22

    
23
	public class IncludedTaxon{
24
		private UUID taxonUuid;
25
		private List<UUID> pathToTaxon = new ArrayList<>();
26
		private boolean doubtful = false;
27

    
28

    
29
		public IncludedTaxon(UUID taxonUuid, List<UUID> pathToTaxon, boolean doubtful) {
30
			this.taxonUuid = taxonUuid;
31
			this.pathToTaxon = pathToTaxon;
32
			this.doubtful = doubtful;
33
		}
34

    
35

    
36
		public UUID getTaxonUuid() {
37
			return taxonUuid;
38
		}
39
		public void setTaxonUuid(UUID taxonUuid) {
40
			this.taxonUuid = taxonUuid;
41
		}
42
		public List<UUID> getPathToTaxon() {
43
			return pathToTaxon;
44
		}
45
		public void setPathToTaxon(List<UUID> pathToTaxon) {
46
			this.pathToTaxon = pathToTaxon;
47
		}
48
		public boolean isDoubtful() {
49
			return doubtful;
50
		}
51
		public void setDoubtful(boolean doubtful) {
52
			this.doubtful = doubtful;
53
		}
54

    
55

    
56
		@Override
57
		public String toString(){
58
			return taxonUuid == null? super.toString() : taxonUuid.toString();
59
		}
60

    
61
	}
62

    
63
	private List<IncludedTaxon> includedTaxa = new ArrayList<>();
64

    
65
	private DateTime date = DateTime.now();
66

    
67
	//** ******************* CONSTRUCTOR **************************/
68

    
69
	public IncludedTaxaDTO() {}
70

    
71
	public IncludedTaxaDTO(UUID taxonUuid) {
72
		IncludedTaxon originalTaxon = new IncludedTaxon(taxonUuid, new ArrayList<>(), false);
73
		includedTaxa.add(originalTaxon);
74
	}
75

    
76
 // ************************** GETTER / SETTER  ***********************/
77

    
78
	public List<IncludedTaxon> getIncludedTaxa() {
79
		return includedTaxa;
80
	}
81

    
82
	public void setIncludedTaxa(List<IncludedTaxon> includedTaxa) {
83
		this.includedTaxa = includedTaxa;
84
	}
85

    
86
	public void addIncludedTaxon(IncludedTaxon includedTaxon){
87
		includedTaxa.add(includedTaxon);
88
	}
89

    
90
	public void addIncludedTaxon(UUID taxonUuid, List<UUID> uuidPath, boolean doubtful){
91
		includedTaxa.add(new IncludedTaxon(taxonUuid, uuidPath, doubtful));
92
	}
93

    
94
	public DateTime getDate() {
95
		return date;
96
	}
97
	public void setDate(DateTime date) {
98
		this.date = date;
99
	}
100

    
101
	public int getSize(){
102
		return includedTaxa.size();
103
	}
104

    
105
	public boolean contains(UUID taxonUuid) {
106
		for (IncludedTaxon taxon: includedTaxa){
107
			if (taxon.taxonUuid.equals(taxonUuid)){
108
				return true;
109
			}
110
		}
111
		return false;
112
	}
113

    
114
	@Override
115
	public String toString(){
116
		String result = "";
117
		for (IncludedTaxon taxon : includedTaxa){
118
			result += taxon.toString() + ",";
119
		}
120
		if (result.length() > 0){
121
			result = result.substring(0, result.length() - 1);
122
		}
123

    
124
		result = "[" + result + "]";
125
		return result;
126
	}
127

    
128
}
(24-24/47)