Project

General

Profile

Download (3.01 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
 */
22
public class IncludedTaxaDTO {
23

    
24
	public class IncludedTaxon{
25
		private UUID taxonUuid;
26
		private List<UUID> pathToTaxon = new ArrayList<UUID>();
27
		private boolean doubtful = false;
28
	
29
		
30
		public IncludedTaxon(UUID taxonUuid, List<UUID> pathToTaxon, boolean doubtful) {
31
			this.taxonUuid = taxonUuid;
32
			this.pathToTaxon = pathToTaxon;
33
			this.doubtful = doubtful;
34
		}
35
		
36
		
37
		public UUID getTaxonUuid() {
38
			return taxonUuid;
39
		}
40
		public void setTaxonUuid(UUID taxonUuid) {
41
			this.taxonUuid = taxonUuid;
42
		}
43
		public List<UUID> getPathToTaxon() {
44
			return pathToTaxon;
45
		}
46
		public void setPathToTaxon(List<UUID> pathToTaxon) {
47
			this.pathToTaxon = pathToTaxon;
48
		}
49
		public boolean isDoubtful() {
50
			return doubtful;
51
		}
52
		public void setDoubtful(boolean doubtful) {
53
			this.doubtful = doubtful;
54
		}
55

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

    
62
	}
63
	
64
	private List<IncludedTaxon> includedTaxa = new ArrayList<IncludedTaxaDTO.IncludedTaxon>();
65

    
66
	private DateTime date = DateTime.now();
67
	
68
	//** ******************* CONSTRUCTOR **************************/
69
	
70
	public IncludedTaxaDTO() {}
71

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

    
77
 // ************************** GETTER / SETTER  ***********************/
78
	
79
	public List<IncludedTaxon> getIncludedTaxa() {
80
		return includedTaxa;
81
	}
82

    
83
	public void setIncludedTaxa(List<IncludedTaxon> includedTaxa) {
84
		this.includedTaxa = includedTaxa;
85
	}
86
	
87
	public void addIncludedTaxon(IncludedTaxon includedTaxon){
88
		includedTaxa.add(includedTaxon);
89
	}
90
	
91
	public void addIncludedTaxon(UUID taxonUuid, List<UUID> uuidPath, boolean doubtful){
92
		includedTaxa.add(new IncludedTaxon(taxonUuid, uuidPath, doubtful));
93
	}
94
	
95
	public DateTime getDate() {
96
		return date;
97
	}
98
	public void setDate(DateTime date) {
99
		this.date = date;
100
	}
101
	
102
	public int getSize(){
103
		return includedTaxa.size();
104
	}
105

    
106
	public boolean contains(UUID taxonUuid) {
107
		for (IncludedTaxon taxon: includedTaxa){
108
			if (taxon.taxonUuid.equals(taxonUuid)){
109
				return true;
110
			}
111
		}
112
		return false;
113
	}
114
	
115
	@Override
116
	public String toString(){
117
		String result = "";
118
		for (IncludedTaxon taxon : includedTaxa){
119
			result += taxon.toString() + ",";
120
		}
121
		if (result.length() > 0){
122
			result = result.substring(0, result.length() - 1);
123
		}
124
		
125
		result = "[" + result + "]";
126
		return result;
127
	}
128
	
129
	
130
}
(12-12/20)