1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.commons.jcs3.jcache;
20
21 import javax.cache.Cache;
22 import javax.cache.event.CacheEntryEvent;
23 import javax.cache.event.EventType;
24
25 public class JCSCacheEntryEvent<K, V> extends CacheEntryEvent<K, V>
26 {
27
28 private static final long serialVersionUID = 4761272981003897488L;
29
30 private final V old;
31 private final K key;
32 private final V value;
33
34 public JCSCacheEntryEvent(final Cache<K, V> source, final EventType eventType, final V old, final K key, final V value)
35 {
36 super(source, eventType);
37 this.old = old;
38 this.key = key;
39 this.value = value;
40 }
41
42 @Override
43 public V getOldValue()
44 {
45 return old;
46 }
47
48 @Override
49 public boolean isOldValueAvailable()
50 {
51 return old != null;
52 }
53
54 @Override
55 public K getKey()
56 {
57 return key;
58 }
59
60 @Override
61 public V getValue()
62 {
63 return value;
64 }
65
66 @Override
67 public <T> T unwrap(final Class<T> clazz)
68 {
69 if (clazz.isInstance(this))
70 {
71 return clazz.cast(this);
72 }
73 throw new IllegalArgumentException(clazz.getName() + " not supported in unwrap");
74 }
75 }