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 import org.apache.commons.cache.CacheStat;
20
21
22
23
24
25
26
27 public class GetCacheStatRequest implements CacheRequest {
28 protected CacheStat[] _stats = null;
29
30 public GetCacheStatRequest(CacheStat stat) {
31 this(new CacheStat[] { stat } );
32 }
33
34 public GetCacheStatRequest(CacheStat[] stats) {
35 _stats = stats;
36 }
37
38 public CacheStat[] getCacheStats() {
39 return _stats;
40 }
41
42 public boolean equals(GetCacheStatRequest req) {
43 if(null == req) {
44 return false;
45 } else if(null == req.getCacheStats()) {
46 return (null == _stats);
47 } else if(null == _stats) {
48 return false;
49 } else if(req.getCacheStats().length != _stats.length) {
50 return false;
51 } else {
52 for(int i=0;i<_stats.length;i++) {
53 if(! (_stats[i] == null ? ( null == (req.getCacheStats())[i] ) : _stats[i].equals(req.getCacheStats()[i]) )) {
54 return false;
55 }
56 }
57 return true;
58 }
59 }
60
61 public int hashCode() {
62 if(null == _stats) {
63 return this.getClass().getName().hashCode();
64 } else {
65 int hc = 0;
66 for(int i=0;i<_stats.length;i++) {
67 try {
68 hc ^= _stats[i].hashCode();
69 } catch(NullPointerException e) {
70
71 }
72 }
73 return hc;
74 }
75 }
76 }