View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.commons.math.stat.descriptive;
18  
19  /**
20   * Implementation of
21   * {@link org.apache.commons.math.stat.descriptive.SummaryStatistics} that
22   * is safe to use in a multithreaded environment.  Multiple threads can safely
23   * operate on a single instance without causing runtime exceptions due to race
24   * conditions.  In effect, this implementation makes modification and access
25   * methods atomic operations for a single instance.  That is to say, as one
26   * thread is computing a statistic from the instance, no other thread can modify
27   * the instance nor compute another statistic. 
28   *
29   * @since 1.2
30   * @version $Revision: 618097 $ $Date: 2008-02-03 14:39:08 -0700 (Sun, 03 Feb 2008) $
31   */
32  public class SynchronizedSummaryStatistics extends SummaryStatistics {
33  
34      /** Serialization UID */
35      private static final long serialVersionUID = 1909861009042253704L;
36  
37      /**
38       * Construct a SynchronizedSummaryStatistics instance
39       */
40      public SynchronizedSummaryStatistics() {
41          super();
42      }
43  
44      /**
45       * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getSummary()
46       */
47      public synchronized StatisticalSummary getSummary() {
48          return super.getSummary();
49      }
50  
51      /**
52       * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#addValue(double)
53       */
54      public synchronized void addValue(double value) {
55          super.addValue(value);
56      }
57  
58      /** 
59       * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getN()
60       */
61      public synchronized long getN() {
62          return super.getN();
63      }
64  
65      /**
66       * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getSum()
67       */
68      public synchronized double getSum() {
69          return super.getSum();
70      }
71  
72      /**
73       * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getSumsq()
74       */
75      public synchronized double getSumsq() {
76          return super.getSumsq();
77      }
78  
79      /**
80       * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getMean()
81       */
82      public synchronized double getMean() {
83          return super.getMean();
84      }
85  
86      /**
87       * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getStandardDeviation()
88       */
89      public synchronized double getStandardDeviation() {
90          return super.getStandardDeviation();
91      }
92  
93      /**
94       * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getVariance()
95       */
96      public synchronized double getVariance() {
97          return super.getVariance();
98      }
99  
100     /**
101      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getMax()
102      */
103     public synchronized double getMax() {
104         return super.getMax();
105     }
106 
107     /**
108      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getMin()
109      */
110     public synchronized double getMin() {
111         return super.getMin();
112     }
113 
114     /**
115      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getGeometricMean()
116      */
117     public synchronized double getGeometricMean() {
118         return super.getGeometricMean();
119     }
120 
121     /**
122      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#toString()
123      */
124     public synchronized String toString() {
125         return super.toString();
126     }
127 
128     /** 
129      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#clear()
130      */
131     public synchronized void clear() {
132         super.clear();
133     }
134 
135     /**
136      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#equals(Object)
137      */
138     public synchronized boolean equals(Object object) {
139         return super.equals(object);
140     }
141 
142     /**
143      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#hashCode()
144      */
145     public synchronized int hashCode() {
146         return super.hashCode();
147     }
148 
149     /**
150      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getSumImpl()
151      */
152     public synchronized StorelessUnivariateStatistic getSumImpl() {
153         return super.getSumImpl();
154     }
155 
156     /**
157      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#setSumImpl(StorelessUnivariateStatistic)
158      */
159     public synchronized void setSumImpl(StorelessUnivariateStatistic sumImpl) {
160         super.setSumImpl(sumImpl);
161     }
162 
163     /**
164      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getSumsqImpl()
165      */
166     public synchronized StorelessUnivariateStatistic getSumsqImpl() {
167         return super.getSumsqImpl();
168     }
169 
170     /**
171      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#setSumsqImpl(StorelessUnivariateStatistic)
172      */
173     public synchronized void setSumsqImpl(StorelessUnivariateStatistic sumsqImpl) {
174         super.setSumsqImpl(sumsqImpl);
175     }
176 
177     /**
178      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getMinImpl()
179      */
180     public synchronized StorelessUnivariateStatistic getMinImpl() {
181         return super.getMinImpl();
182     }
183 
184     /**
185      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#setMinImpl(StorelessUnivariateStatistic)
186      */
187     public synchronized void setMinImpl(StorelessUnivariateStatistic minImpl) {
188         super.setMinImpl(minImpl);
189     }
190 
191     /**
192      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getMaxImpl()
193      */
194     public synchronized StorelessUnivariateStatistic getMaxImpl() {
195         return super.getMaxImpl();
196     }
197 
198     /**
199      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#setMaxImpl(StorelessUnivariateStatistic)
200      */
201     public synchronized void setMaxImpl(StorelessUnivariateStatistic maxImpl) {
202         super.setMaxImpl(maxImpl);
203     }
204 
205     /**
206      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getSumLogImpl()
207      */
208     public synchronized StorelessUnivariateStatistic getSumLogImpl() {
209         return super.getSumLogImpl();
210     }
211 
212     /**
213      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#setSumLogImpl(StorelessUnivariateStatistic)
214      */
215     public synchronized void setSumLogImpl(StorelessUnivariateStatistic sumLogImpl) {
216         super.setSumLogImpl(sumLogImpl);
217     }
218 
219     /**
220      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getGeoMeanImpl()
221      */
222     public synchronized StorelessUnivariateStatistic getGeoMeanImpl() {
223         return super.getGeoMeanImpl();
224     }
225 
226     /**
227      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#setGeoMeanImpl(StorelessUnivariateStatistic)
228      */
229     public synchronized void setGeoMeanImpl(StorelessUnivariateStatistic geoMeanImpl) {
230         super.setGeoMeanImpl(geoMeanImpl);
231     }
232 
233     /**
234      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getMeanImpl()
235      */
236     public synchronized StorelessUnivariateStatistic getMeanImpl() {
237         return super.getMeanImpl();
238     }
239 
240     /**
241      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#setMeanImpl(StorelessUnivariateStatistic)
242      */
243     public synchronized void setMeanImpl(StorelessUnivariateStatistic meanImpl) {
244         super.setMeanImpl(meanImpl);
245     }
246 
247     /**
248      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#getVarianceImpl()
249      */
250     public synchronized StorelessUnivariateStatistic getVarianceImpl() {
251         return super.getVarianceImpl();
252     }
253 
254     /**
255      * @see org.apache.commons.math.stat.descriptive.SummaryStatistics#setVarianceImpl(StorelessUnivariateStatistic)
256      */
257     public synchronized void setVarianceImpl(StorelessUnivariateStatistic varianceImpl) {
258         super.setVarianceImpl(varianceImpl);
259     }
260     
261 }