1
18 package org.torweg.pulse.component.statistics.view;
19
20 import java.io.Serializable;
21 import java.util.List;
22
23 import javax.xml.bind.annotation.XmlAccessOrder;
24 import javax.xml.bind.annotation.XmlAccessType;
25 import javax.xml.bind.annotation.XmlAccessorOrder;
26 import javax.xml.bind.annotation.XmlAccessorType;
27 import javax.xml.bind.annotation.XmlElement;
28 import javax.xml.bind.annotation.XmlRootElement;
29 import javax.xml.bind.annotation.XmlTransient;
30
31 import org.slf4j.Logger;
32 import org.slf4j.LoggerFactory;
33 import org.torweg.pulse.component.statistics.model.StatisticsServer;
34 import org.torweg.pulse.component.statistics.model.aggregation.AverageTimePerVisitAggregation;
35 import org.torweg.pulse.component.statistics.model.aggregation.CountryPerVisitAggregation;
36 import org.torweg.pulse.component.statistics.model.aggregation.OperatingSystemPerVisitAggregation;
37 import org.torweg.pulse.component.statistics.model.aggregation.PIRecordCountAggregation;
38 import org.torweg.pulse.component.statistics.model.aggregation.RefererTreeAggregation;
39 import org.torweg.pulse.component.statistics.model.aggregation.ScreenResolutionPerVisitAggregation;
40 import org.torweg.pulse.component.statistics.model.aggregation.UserAgentPerVisitAggregation;
41 import org.torweg.pulse.component.statistics.model.aggregation.VisitCountAggregation;
42 import org.torweg.pulse.util.time.Duration;
43 import org.torweg.pulse.util.time.Period;
44
45
52 @XmlRootElement(name = "abstract-statistics-view-controller-result-data")
53 @XmlAccessorOrder(XmlAccessOrder.UNDEFINED)
54 @XmlAccessorType(XmlAccessType.FIELD)
55 public abstract class AbstractStatisticsViewControllerResultData implements
56 Serializable {
57
58
61 private static final long serialVersionUID = -7755440931530097041L;
62
63
66 protected static final Logger LOGGER = LoggerFactory
67 .getLogger(AbstractStatisticsViewControllerResultData.class);
68
69
72 @XmlElement(name = "duration")
73 private Duration duration;
74
75
78 @XmlElement(name = "data-resolution")
79 private Period dataResolution;
80
81
84 @XmlElement(name = "statistics-server")
85 private StatisticsServer server;
86
87
90 @XmlTransient
91 private List<AverageTimePerVisitAggregation> averageTimePerVisitAggregations;
92
93
96 @XmlTransient
97 private List<CountryPerVisitAggregation> countryPerVisitAggregations;
98
99
102 @XmlTransient
103 private List<PIRecordCountAggregation> piRecordCountAggregations;
104
105
108 @XmlTransient
109 private List<VisitCountAggregation> visitCountAggregations;
110
111
114 @XmlTransient
115 private List<OperatingSystemPerVisitAggregation> operatingSystemPerVisitAggregations;
116
117
120 @XmlTransient
121 private List<UserAgentPerVisitAggregation> userAgentPerVisitAggregations;
122
123
126 @XmlTransient
127 private List<ScreenResolutionPerVisitAggregation> screenResolutionPerVisitAggregations;
128
129
132 @XmlTransient
133 private List<RefererTreeAggregation> refererTreeAggregations;
134
135
140 public final Duration getDuration() {
141 return this.duration;
142 }
143
144
153 protected final void setDuration(final Duration dur) {
154 if (dur == null) {
155 throw new NullPointerException("Given Duration must not be null.");
156 }
157 this.duration = dur;
158 }
159
160
165 public final Period getDataResolution() {
166 return this.dataResolution;
167 }
168
169
178 protected final void setDataResolution(final Period resolution) {
179 if (resolution == null) {
180 throw new NullPointerException("Given Period must not be null.");
181 }
182 this.dataResolution = resolution;
183 }
184
185
190 public final StatisticsServer getStatisticsServer() {
191 return this.server;
192 }
193
194
204 protected final void setStatisticsServer(final StatisticsServer ser) {
205 if (ser == null) {
206 throw new NullPointerException(
207 "Given StatisticsServer must not be null.");
208 }
209 this.server = ser;
210 }
211
212
217 @XmlTransient
218 public final List<AverageTimePerVisitAggregation> getAverageTimePerVisitAggregations() {
219 return this.averageTimePerVisitAggregations;
220 }
221
222
228 protected void setAverageTimePerVisitAggregations(
229 final List<AverageTimePerVisitAggregation> aggregations) {
230 this.averageTimePerVisitAggregations = aggregations;
231 }
232
233
238 @XmlTransient
239 public final List<CountryPerVisitAggregation> getCountryPerVisitAggregations() {
240 return this.countryPerVisitAggregations;
241 }
242
243
249 protected void setCountryPerVisitAggregations(
250 final List<CountryPerVisitAggregation> aggregations) {
251 this.countryPerVisitAggregations = aggregations;
252 }
253
254
259 @XmlTransient
260 public final List<PIRecordCountAggregation> getPIRecordCountAggregations() {
261 return this.piRecordCountAggregations;
262 }
263
264
270 protected void setPIRecordCountAggregations(
271 final List<PIRecordCountAggregation> aggregations) {
272 this.piRecordCountAggregations = aggregations;
273 }
274
275
280 @XmlTransient
281 public final List<VisitCountAggregation> getVisitCountAggregations() {
282 return this.visitCountAggregations;
283 }
284
285
291 protected void setVisitCountAggregations(
292 final List<VisitCountAggregation> aggregations) {
293 this.visitCountAggregations = aggregations;
294 }
295
296
301 @XmlTransient
302 public final List<OperatingSystemPerVisitAggregation> getOperatingSystemPerVisitAggregations() {
303 return this.operatingSystemPerVisitAggregations;
304 }
305
306
312 protected void setOperatingSystemPerVisitAggregations(
313 final List<OperatingSystemPerVisitAggregation> aggregations) {
314 this.operatingSystemPerVisitAggregations = aggregations;
315 }
316
317
322 @XmlTransient
323 public final List<UserAgentPerVisitAggregation> getUserAgentPerVisitAggregations() {
324 return this.userAgentPerVisitAggregations;
325 }
326
327
333 protected void setUserAgentPerVisitAggregations(
334 final List<UserAgentPerVisitAggregation> aggregations) {
335 this.userAgentPerVisitAggregations = aggregations;
336 }
337
338
343 @XmlTransient
344 public final List<ScreenResolutionPerVisitAggregation> getScreenResolutionPerVisitAggregations() {
345 return this.screenResolutionPerVisitAggregations;
346 }
347
348
354 protected void setScreenResolutionPerVisitAggregations(
355 final List<ScreenResolutionPerVisitAggregation> aggregations) {
356 this.screenResolutionPerVisitAggregations = aggregations;
357 }
358
359
364 @XmlTransient
365 public final List<RefererTreeAggregation> getRefererTreeAggregations() {
366 return this.refererTreeAggregations;
367 }
368
369
375 protected void setRefererTreeAggregations(
376 final List<RefererTreeAggregation> aggregations) {
377 this.refererTreeAggregations = aggregations;
378 }
379
380 }
381