1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.commons.cache.remote;
17
18 import java.io.Serializable;
19
20
21
22
23
24
25
26 public class CacheStatResponse implements CacheResponse {
27 protected Long[] _stats = null;
28
29 public CacheStatResponse(Long stat) {
30 this(new Long[] { stat } );
31 }
32
33 public CacheStatResponse(Long[] stats) {
34 _stats = stats;
35 }
36
37 public Long[] getCacheStats() {
38 return _stats;
39 }
40
41 public boolean equals(CacheStatResponse res) {
42 if(null == res) {
43 return false;
44 } else if(null == res.getCacheStats()) {
45 return (null == _stats);
46 } else if(null == _stats) {
47 return false;
48 } else if(res.getCacheStats().length != _stats.length) {
49 return false;
50 } else {
51 for(int i=0;i<_stats.length;i++) {
52 if(! (_stats[i] == null ? ( null == (res.getCacheStats())[i] ) : _stats[i].equals(res.getCacheStats()[i]) )) {
53 return false;
54 }
55 }
56 return true;
57 }
58 }
59
60 public int hashCode() {
61 if(null == _stats) {
62 return this.getClass().getName().hashCode();
63 } else {
64 int hc = 0;
65 for(int i=0;i<_stats.length;i++) {
66 try {
67 hc ^= _stats[i].hashCode();
68 } catch(NullPointerException e) {
69
70 }
71 }
72 return hc;
73 }
74 }
75 }