1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package p3j.pppm.parameters;
17
18 import java.io.Serializable;
19 import java.util.ArrayList;
20 import java.util.HashSet;
21 import java.util.List;
22 import java.util.Set;
23
24 import p3j.misc.errors.GeneratorError;
25 import p3j.misc.math.RandomNumberChecks;
26
27
28
29
30
31
32
33
34
35
36
37 public class ParameterAssignmentSet implements Serializable {
38
39
40 private static final long serialVersionUID = -1138437071774695491L;
41
42
43 private int id;
44
45
46 private Set<ParameterAssignment> assignments = new HashSet<ParameterAssignment>();
47
48
49
50
51
52
53 public double getProbabilitySum() {
54 double sum = 0;
55 for (ParameterAssignment assignment : assignments) {
56 sum += assignment.getProbability();
57 }
58 return sum;
59 }
60
61
62
63
64
65
66 public List<GeneratorError> adjustProbability() {
67 List<GeneratorError> errorLog = new ArrayList<GeneratorError>();
68 if (assignments.size() == 0) {
69 return errorLog;
70 }
71 RandomNumberChecks.getInstance().checkProbabilitySetting(
72 assignments.iterator().next().getParamInstance().toString(),
73 assignments, errorLog);
74 return errorLog;
75 }
76
77 public Set<ParameterAssignment> getAssignments() {
78 return assignments;
79 }
80
81 public void setAssignments(Set<ParameterAssignment> assignments) {
82 this.assignments = assignments;
83 }
84
85 public int getID() {
86 return id;
87 }
88
89 public void setID(int uniqueID) {
90 id = uniqueID;
91 }
92
93
94
95
96
97
98
99 public void add(ParameterAssignment paramAssignment) {
100 assignments.add(paramAssignment);
101 }
102
103
104
105
106
107
108
109 public void remove(ParameterAssignment paramAssignment) {
110 assignments.remove(paramAssignment);
111 }
112
113
114
115
116
117
118 public int size() {
119 return assignments.size();
120 }
121
122 }