Project

General

Profile

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

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

    
16
import org.joda.time.DateTime;
17

    
18
/**
19
 * @author a.mueller
20
 * @date 2014-05-20
21
 *
22
 */
23
public class IncludedTaxaDTO {
24

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

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

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

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

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

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

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

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