1 package fr.ifremer.tutti.persistence.model;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 import com.google.common.collect.ImmutableSet;
28 import fr.ifremer.tutti.persistence.entities.data.Program;
29
30 import java.util.Iterator;
31 import java.util.Set;
32
33
34
35
36
37
38
39 public class ProgramDataModel extends DataModelSupport implements Iterable<CruiseDataModel> {
40
41 private static final long serialVersionUID = 1L;
42
43 private final Set<CruiseDataModel> cruises;
44
45 public ProgramDataModel(Program program, Set<CruiseDataModel> cruises) {
46 this(program.getId(), program.getName(), cruises);
47 }
48
49 public ProgramDataModel(String id, String label, Set<CruiseDataModel> cruises) {
50 super(id, label);
51 this.cruises = ImmutableSet.copyOf(cruises);
52 }
53
54 public int size() {
55 return cruises.size();
56 }
57
58 public int getNbOperations() {
59 int result = 0;
60 for (CruiseDataModel cruise : this) {
61 result += cruise.size();
62 }
63 return result;
64 }
65
66 @Override
67 public Iterator<CruiseDataModel> iterator() {
68 return cruises.iterator();
69 }
70
71 public CruiseDataModel getCruise(String id) {
72
73 CruiseDataModel result = null;
74 for (CruiseDataModel cruise : this) {
75
76 if (id.equals(cruise.getId())) {
77 result = cruise;
78 break;
79 }
80 }
81 return result;
82
83 }
84
85 }