comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQFractionResult.java @ 5838:5aa05a7a34b7

Rename modules to more fitting names.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 15:23:37 +0200
parents flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQFractionResult.java@bd047b71ab37
children 4897a58c8746
comparison
equal deleted inserted replaced
5837:d9901a08d0a6 5838:5aa05a7a34b7
1 package org.dive4elements.river.artifacts.model.sq;
2
3 import org.dive4elements.river.artifacts.model.Parameters;
4
5 import java.io.Serializable;
6
7 import java.util.List;
8
9 public class SQFractionResult
10 implements Serializable
11 {
12 public static class Iteration
13 implements Serializable
14 {
15 protected Parameters parameters;
16 protected SQ [] measurements;
17 protected SQ [] outliers;
18
19 public Iteration() {
20 }
21
22 public Iteration(
23 Parameters parameters,
24 SQ [] measurements,
25 SQ [] outliers
26 ) {
27 this.parameters = parameters;
28 this.measurements = measurements;
29 this.outliers = outliers;
30 }
31
32 public Parameters getParameters() {
33 return parameters;
34 }
35
36 public void setParameters(Parameters parameters) {
37 this.parameters = parameters;
38 }
39
40 public SQ [] getMeasurements() {
41 return measurements;
42 }
43
44 public void setMeasurements(SQ [] measurements) {
45 this.measurements = measurements;
46 }
47
48 public SQ [] getOutliers() {
49 return outliers;
50 }
51
52 public void setOutliers(SQ [] outliers) {
53 this.outliers = outliers;
54 }
55
56 public boolean isValid() {
57 return parameters != null
58 && measurements != null
59 && outliers != null;
60 }
61
62 public int numOutliers() {
63 return outliers != null
64 ? outliers.length
65 : 0;
66 }
67
68 public int numMeasurements() {
69 return measurements != null
70 ? measurements.length
71 : 0;
72 }
73 } // class Iteration
74
75 protected SQ [] measurements;
76 protected List<Iteration> iterations;
77
78 public SQFractionResult() {
79 }
80
81 public SQFractionResult(
82 SQ [] measurements,
83 List<Iteration> iterations
84 ) {
85 this.measurements = measurements;
86 this.iterations = iterations;
87 }
88
89 public SQ [] getMeasurements() {
90 return measurements;
91 }
92
93 public void setMeasurements(SQ [] measurements) {
94 this.measurements = measurements;
95 }
96
97 public List<Iteration> getIterations() {
98 return iterations;
99 }
100
101 public void setIterations(List<Iteration> iterations) {
102 this.iterations = iterations;
103 }
104
105 public double [] getQExtent() {
106 return getQExtent(new double[2]);
107 }
108
109 public double [] getQExtent(double extent[]) {
110 extent[0] = Double.MAX_VALUE;
111 extent[1] = -Double.MIN_VALUE;
112
113 for (SQ sq: measurements) {
114 double q = sq.getQ();
115 if (q < extent[0]) extent[0] = q;
116 if (q > extent[1]) extent[1] = q;
117 }
118
119 return extent;
120 }
121
122 public int numIterations() {
123 return iterations != null ? iterations.size() : 0;
124 }
125
126 public Parameters getParameters() {
127 return iterations != null && !iterations.isEmpty()
128 ? iterations.get(iterations.size()-1).getParameters()
129 : null;
130 }
131
132 public SQ [] getOutliers(int index) {
133 return index >= 0 && index < iterations.size()
134 ? iterations.get(index).getOutliers()
135 : null;
136 }
137
138 public Parameters getParameters(int index) {
139 return index >= 0 && index < iterations.size()
140 ? iterations.get(index).getParameters()
141 : null;
142 }
143
144 public SQ [] getMeasurements(int index) {
145 return index >= 0 && index < iterations.size()
146 ? iterations.get(index).getMeasurements()
147 : null;
148 }
149
150 public int totalNumOutliers() {
151 int sum = 0;
152 if (iterations != null) {
153 for (Iteration iteration: iterations) {
154 sum += iteration.numOutliers();
155 }
156 }
157 return sum;
158 }
159
160 public int numMeasurements() {
161 return measurements != null
162 ? measurements.length
163 : 0;
164 }
165 }
166 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org