View difference between Paste ID: 7ng381ZN and ngCsNgxb
SHOW: | | - or go back to the newest paste.
1
package com.hazelcast.util;
2
3
import com.google.common.collect.ForwardingConcurrentMap;
4
5
import com.hazelcast.core.EntryListener;
6
import com.hazelcast.core.IMap;
7
import com.hazelcast.core.MapEntry;
8
import com.hazelcast.monitor.LocalMapStats;
9
import com.hazelcast.query.Expression;
10
import com.hazelcast.query.Predicate;
11
12
import java.util.Collection;
13
import java.util.Map;
14
import java.util.Set;
15
import java.util.concurrent.Future;
16
import java.util.concurrent.TimeUnit;
17
import java.util.concurrent.TimeoutException;
18
19
20
/**
21
 * A forwarding class for IMap, which is itself an extension of ConcurrentMap.
22-
 * This is for Hazelcast 1.9 and earlier. For Hazelcast 2.0, see https://pastebin.com/7ng381ZN
22+
 * This is for Hazelcast 2.0, prior versions are for Hazelcast 1.9 and earlier.
23
 */
24-
public class ForwardingIMap<K, V> extends ForwardingConcurrentMap<K, V> implements IMap<K, V> {
24+
public abstract class ForwardingIMap<K, V> extends ForwardingConcurrentMap<K, V> implements IMap<K, V> {
25
26-
    public ForwardingIMap(IMap<K, V> map) {
26+
    protected ForwardingIMap() {
27-
        this.map = map;
27+
        // Nothing to do here except be protected.
28
    }
29
30
31
    //
32
    // Instance methods
33
    //
34
35
    @Override public InstanceType getInstanceType() {
36
        return delegate().getInstanceType();
37
    }
38
39
    @Override public void destroy() {
40
        delegate().destroy();
41
    }
42
43
    @Override public Object getId() {
44
        return delegate().getId();
45
    }
46
47
48
    //
49
    // IMap methods
50
    //
51
52
    @Override public void flush() {
53
        delegate().flush();
54
    }
55
    @Override public String getName() {
56
        return delegate().getName();
57
    }
58
59
    @Override public Map<K, V> getAll(Set<K> keys) {
60
        return delegate().getAll(keys);
61
    }
62
63
    @Override public Future<V> getAsync(K key) {
64
        return delegate().getAsync(key);
65
    }
66
67
    @Override public Future<V> putAsync(K key, V value) {
68
        return delegate().putAsync(key, value);
69
    }
70
71
    @Override public Future<V> removeAsync(K key) {
72
        return delegate().removeAsync(key);
73
    }
74
75
    @Override public Object tryRemove(K key, long timeout, TimeUnit timeunit) throws TimeoutException {
76
        return delegate().tryRemove(key, timeout, timeunit);
77
    }
78
79
    @Override public boolean tryPut(K key, V value, long timeout, TimeUnit timeunit) {
80
        return delegate().tryPut(key, value, timeout, timeunit);
81
    }
82
83
    @Override public V put(K key, V value, long ttl, TimeUnit timeunit) {
84
        return delegate().put(key, value, ttl, timeunit);
85
    }
86
87
    @Override public void putTransient(K key, V value, long ttl, TimeUnit timeunit) {
88
        delegate().putTransient(key, value, ttl, timeunit);
89
    }
90
91
    @Override public V putIfAbsent(K key, V value, long ttl, TimeUnit timeunit) {
92
        return delegate().putIfAbsent(key, value, ttl, timeunit);
93
    }
94
95
    @Override public void set(K key, V value, long ttl, TimeUnit timeUnit) {
96
        delegate().set(key, value, ttl, timeUnit);
97
    }
98
99
    @Override public V tryLockAndGet(K key, long time, TimeUnit timeunit) throws TimeoutException {
100
        return delegate().tryLockAndGet(key, time, timeunit);
101
    }
102
103
    @Override public void putAndUnlock(K key, V value) {
104
        delegate().putAndUnlock(key, value);
105
    }
106
107
    @Override public void lock(K key) {
108
        delegate().lock(key);
109
    }
110
111
    @Override public boolean tryLock(K key) {
112
        return delegate().tryLock(key);
113
    }
114
115
    @Override public boolean tryLock(K key, long time, TimeUnit timeunit) {
116
        return delegate().tryLock(key, time, timeunit);
117
    }
118
119
    @Override public void unlock(K key) {
120
        delegate().unlock(key);
121
    }
122
123
    @Override public void forceUnlock(K key) {
124
        delegate().forceUnlock(key);
125
    }
126
127
    @Override public boolean lockMap(long time, TimeUnit timeunit) {
128
        return delegate().lockMap(time, timeunit);
129
    }
130
131
    @Override public void unlockMap() {
132
        delegate().unlockMap();
133
    }
134
135
136
    @Override public void addLocalEntryListener(EntryListener<K,V> listener) {
137
        delegate().addLocalEntryListener(listener);
138
    }
139
140
    @Override public void addEntryListener(EntryListener<K,V> listener, boolean includeValue) {
141
        delegate().addEntryListener(listener, includeValue);
142
    }
143
144
    @Override public void removeEntryListener(EntryListener<K,V> listener) {
145
        delegate().removeEntryListener(listener);
146
    }
147
148
    @Override public void addEntryListener(EntryListener<K,V> listener, K key, boolean includeValue) {
149
        delegate().addEntryListener(listener, key, includeValue);
150
    }
151
152
    @Override public void removeEntryListener(EntryListener<K,V> listener, K key) {
153
        delegate().removeEntryListener(listener, key);
154
    }
155
156
    @Override public MapEntry<K,V> getMapEntry(K key) {
157
        return delegate().getMapEntry(key);
158
    }
159
160
    @Override public boolean evict(Object key) {
161
        return delegate().evict(key);
162
    }
163
164
    @Override public Set<K> keySet(Predicate predicate) {
165
        return delegate().keySet(predicate);
166
    }
167
168
    @Override public Set<Map.Entry<K,V>> entrySet(Predicate predicate) {
169
        return delegate().entrySet(predicate);
170
    }
171
172
    @Override public Collection<V> values(Predicate predicate) {
173
        return delegate().values(predicate);
174
    }
175
176
    @Override public Set<K> localKeySet() {
177
        return delegate().localKeySet();
178
    }
179
180
    @Override public Set<K> localKeySet(Predicate predicate) {
181
        return delegate().localKeySet(predicate);
182
    }
183
184
    @Override public void addIndex(String attribute, boolean ordered) {
185
        delegate().addIndex(attribute, ordered);
186
    }
187
188
    @Override public void addIndex(Expression<?> expression, boolean ordered) {
189
        delegate().addIndex(expression, ordered);
190-
    protected IMap<K, V> delegate() {
190+
191-
        return map;
191+
192
    @Override public LocalMapStats getLocalMapStats() {
193
        return delegate().getLocalMapStats();
194-
    private final IMap<K, V> map;
194+
195
196
197
    protected abstract IMap<K, V> delegate();
198
}