public final class ClientMapProxy<K,V> extends ClientProxy implements IMap<K,V>
| Modifier and Type | Field and Description |
|---|---|
protected static String |
NULL_KEY_IS_NOT_ALLOWED |
protected static String |
NULL_VALUE_IS_NOT_ALLOWED |
| Constructor and Description |
|---|
ClientMapProxy(String serviceName,
String name) |
| Modifier and Type | Method and Description |
|---|---|
String |
addEntryListener(EntryListener<K,V> listener,
boolean includeValue)
Adds an entry listener for this map.
|
String |
addEntryListener(EntryListener<K,V> listener,
K key,
boolean includeValue)
Adds the specified entry listener for the specified key.
|
String |
addEntryListener(EntryListener<K,V> listener,
Predicate<K,V> predicate,
boolean includeValue)
Adds an continuous entry listener for this map.
|
String |
addEntryListener(EntryListener<K,V> listener,
Predicate<K,V> predicate,
K key,
boolean includeValue)
Adds an continuous entry listener for this map.
|
void |
addIndex(String attribute,
boolean ordered)
Adds an index to this map for the specified entries so
that queries can run faster.
|
String |
addInterceptor(MapInterceptor interceptor)
Adds an interceptor for this map.
|
String |
addLocalEntryListener(EntryListener<K,V> listener)
Adds a local entry listener for this map.
|
String |
addLocalEntryListener(EntryListener<K,V> listener,
Predicate<K,V> predicate,
boolean includeValue)
Adds a local entry listener for this map.
|
String |
addLocalEntryListener(EntryListener<K,V> listener,
Predicate<K,V> predicate,
K key,
boolean includeValue)
Adds a local entry listener for this map.
|
<SuppliedValue,Result> |
aggregate(Supplier<K,V,SuppliedValue> supplier,
Aggregation<K,SuppliedValue,Result> aggregation)
Executes a predefined aggregation on the maps data set.
|
<SuppliedValue,Result> |
aggregate(Supplier<K,V,SuppliedValue> supplier,
Aggregation<K,SuppliedValue,Result> aggregation,
JobTracker jobTracker)
Executes a predefined aggregation on the maps data set.
|
void |
clear()
This method clears the map and invokes
MapStore.deleteAll(java.util.Collection<K>)deleteAll on MapStore which,
if connected to a database, will delete the records from that database. |
boolean |
containsKey(Object key)
Returns
true if this map contains an entry for the specified
key. |
boolean |
containsValue(Object value) |
void |
delete(Object key)
Removes the mapping for a key from this map if it is present
(optional operation).
|
Set<Map.Entry<K,V>> |
entrySet()
Returns a
Set clone of the mappings contained in this map. |
Set<Map.Entry<K,V>> |
entrySet(Predicate predicate)
Queries the map based on the specified predicate and
returns the matching entries.
|
boolean |
evict(K key)
Evicts the specified key from this map.
|
void |
evictAll()
Evicts all keys from this map except locked ones.
|
Map<K,Object> |
executeOnEntries(EntryProcessor entryProcessor)
Applies the user defined EntryProcessor to the all entries in the map.
|
Map<K,Object> |
executeOnEntries(EntryProcessor entryProcessor,
Predicate predicate)
Applies the user defined EntryProcessor to the entries in the map which satisfies provided predicate.
|
Object |
executeOnKey(K key,
EntryProcessor entryProcessor)
Applies the user defined EntryProcessor to the entry mapped by the key.
|
Map<K,Object> |
executeOnKeys(Set<K> keys,
EntryProcessor entryProcessor)
Applies the user defined EntryProcessor to the entries mapped by the collection of keys.
|
void |
flush()
If this map has a MapStore, this method flushes
all the local dirty entries by calling MapStore.storeAll() and/or MapStore.deleteAll()
|
void |
forceUnlock(K key)
Releases the lock for the specified key regardless of the lock owner.
|
V |
get(Object key)
Returns the value for the specified key, or
null if this map does not contain this key. |
Map<K,V> |
getAll(Set<K> keys)
Returns the entries for the given keys.
|
Future<V> |
getAsync(K key)
Asynchronously gets the given key.
|
EntryView<K,V> |
getEntryView(K key)
Returns the EntryView for the specified key.
|
LocalMapStats |
getLocalMapStats()
Returns LocalMapStats for this map.
|
protected long |
getTimeInMillis(long time,
TimeUnit timeunit) |
boolean |
isEmpty()
Returns true if this map contains no entries.
|
boolean |
isLocked(K key)
Checks the lock for the specified key.
|
Set<K> |
keySet()
Returns a set clone of the keys contained in this map.
|
Set<K> |
keySet(Predicate predicate)
Queries the map based on the specified predicate and
returns the keys of matching entries.
|
void |
loadAll(boolean replaceExistingValues)
Loads all keys into the store.
|
void |
loadAll(Set<K> keys,
boolean replaceExistingValues)
Loads given keys.
|
Set<K> |
localKeySet()
Returns the locally owned set of keys.
|
Set<K> |
localKeySet(Predicate predicate)
Returns the keys of matching locally owned entries.
|
void |
lock(K key)
Acquires the lock for the specified key.
|
void |
lock(K key,
long leaseTime,
TimeUnit timeUnit)
Acquires the lock for the specified key for the specified lease time.
|
protected void |
onDestroy()
Called before proxy is destroyed.
|
protected void |
onShutdown()
Called before client shutdown.
|
V |
put(K key,
V value)
Associates the specified value with the specified key in this map.
|
V |
put(K key,
V value,
long ttl,
TimeUnit timeunit)
Puts an entry into this map with a given ttl (time to live) value.
|
void |
putAll(Map<? extends K,? extends V> m) |
Future<V> |
putAsync(K key,
V value)
Asynchronously puts the given key and value.
|
Future<V> |
putAsync(K key,
V value,
long ttl,
TimeUnit timeunit)
Asynchronously puts the given key and value into this map with a given ttl (time to live) value.
|
V |
putIfAbsent(K key,
V value)
If the specified key is not already associated
with a value, associate it with the given value.
|
V |
putIfAbsent(K key,
V value,
long ttl,
TimeUnit timeunit)
Puts an entry into this map with a given ttl (time to live) value
if the specified key is not already associated with a value.
|
void |
putTransient(K key,
V value,
long ttl,
TimeUnit timeunit)
Same as
#put(K, V, long, java.util.concurrent.TimeUnit) but MapStore, if defined,
will not be called to store/persist the entry. |
V |
remove(Object key)
Removes the mapping for a key from this map if it is present.
|
boolean |
remove(Object key,
Object value)
Removes the entry for a key only if currently mapped to a given value.
|
Future<V> |
removeAsync(K key)
Asynchronously removes the given key.
|
boolean |
removeEntryListener(String id)
Removes the specified entry listener
Returns silently if there is no such listener added before.
|
void |
removeInterceptor(String id)
Removes the given interceptor for this map.
|
V |
replace(K key,
V value)
Replaces the entry for a key only if it is currently mapped to some value.
|
boolean |
replace(K key,
V oldValue,
V newValue)
Replaces the entry for a key only if currently mapped to a given value.
|
void |
set(K key,
V value)
Puts an entry into this map.
|
void |
set(K key,
V value,
long ttl,
TimeUnit timeunit)
Puts an entry into this map with a given ttl (time to live) value.
|
int |
size()
Returns the number of entries in this map.
|
Future |
submitToKey(K key,
EntryProcessor entryProcessor)
Applies the user defined EntryProcessor to the entry mapped by the key.
|
void |
submitToKey(K key,
EntryProcessor entryProcessor,
ExecutionCallback callback)
Applies the user defined EntryProcessor to the entry mapped by the key with
specified ExecutionCallback to listen event status and returns immediately.
|
String |
toString() |
boolean |
tryLock(K key)
Tries to acquire the lock for the specified key.
|
boolean |
tryLock(K key,
long time,
TimeUnit timeunit)
Tries to acquire the lock for the specified key.
|
boolean |
tryPut(K key,
V value,
long timeout,
TimeUnit timeunit)
Tries to put the given key and value into this map within a specified
timeout value.
|
boolean |
tryRemove(K key,
long timeout,
TimeUnit timeunit)
Tries to remove the entry with the given key from this map
within specified timeout value.
|
void |
unlock(K key)
Releases the lock for the specified key.
|
Collection<V> |
values()
Returns a collection clone of the values contained in this map.
|
Collection<V> |
values(Predicate predicate)
Queries the map based on the specified predicate and
returns the values of matching entries.
|
destroy, equals, getContext, getId, getName, getPartitionKey, getServiceName, hashCode, invoke, invoke, invoke, invokeInterruptibly, listen, listen, onInitialize, setContext, stopListening, throwExceptionIfNull, toData, toObjectclone, equals, finalize, getClass, notify, notifyAll, wait, wait, waitdestroy, getId, getName, getPartitionKey, getServiceNameprotected static final String NULL_KEY_IS_NOT_ALLOWED
protected static final String NULL_VALUE_IS_NOT_ALLOWED
public boolean containsKey(Object key)
IMaptrue if this map contains an entry for the specified
key.
Warning:
ˆ
This method uses hashCode and equals of binary form of
the key, not the actual implementations of hashCode and equals
defined in key's class. The key will be searched for first in memory and if not
found, and if one is attributed, will then attempt to load the key via a MapLoader.
containsKey in interface BaseMap<K,V>containsKey in interface IMap<K,V>containsKey in interface Map<K,V>key - The specified key.true if this map contains an entry for the specified key.public boolean containsValue(Object value)
IMapcontainsValue in interface IMap<K,V>containsValue in interface Map<K,V>public V get(Object key)
IMapnull if this map does not contain this key.
Warning:
This method returns a clone of original value, modifying the returned value does not change the actual value in the map. One should put modified value back to make changes visible to all nodes.
V value = map.get(key);
value.updateSomeProperty();
map.put(key, value);
Warning-2:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.public V put(K key, V value)
IMapWarning:
This method returns a clone of previous value, not the original (identically equal) value previously put into map.
Warning-2:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.public V remove(Object key)
IMapThe map will not contain a mapping for the specified key once the call returns.
Warning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.
Warning-2:
This method returns a clone of the previous value, not the original (identically equal) value previously put into map.
public boolean remove(Object key, Object value)
IMap
if (map.containsKey(key) && map.get(key).equals(value)) {
map.remove(key);
return true;
} else return false;
except that the action is performed atomically.
Warning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.public void delete(Object key)
IMapDifferently from IMap.remove(Object); this operation does not return
removed value to avoid serialization cost of returned value.
The map will not contain a mapping for the specified key once the call returns.
Warning:
This method breaks the contract of EntryListener. When an entry is removed by delete(), it fires an EntryEvent with a null oldValue. Also listener with predicates, will have null values, so only keys can be queried via predicates.public void flush()
IMappublic Future<V> getAsync(K key)
IMap
Future future = map.getAsync(key);
// do some other stuff, when ready get the result
Object value = future.get();
Future.get() will block until the actual map.get() completes.
If the application requires timely response,
then Future.get(timeout, timeunit) can be used.
try{
Future future = map.getAsync(key);
Object value = future.get(40, TimeUnit.MILLISECOND);
}catch (TimeoutException t) {
// time wasn't enough
}
ExecutionException is never thrown.
Warning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.public Future<V> putAsync(K key, V value)
IMap
Future future = map.putAsync(key, value);
// do some other stuff, when ready get the result
Object oldValue = future.get();
Future.get() will block until the actual map.put() completes.
If the application requires a timely response,
then you can use Future.get(timeout, timeunit).
try{
Future future = map.putAsync(key, newValue);
Object oldValue = future.get(40, TimeUnit.MILLISECOND);
}catch (TimeoutException t) {
// time wasn't enough
}
ExecutionException is never thrown.
Warning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.public Future<V> putAsync(K key, V value, long ttl, TimeUnit timeunit)
IMap
Future future = map.putAsync(key, value, ttl, timeunit);
// do some other stuff, when ready get the result
Object oldValue = future.get();
Future.get() will block until the actual map.get() completes.
If the application requires timely response,
then Future.get(timeout, timeunit) can be used.
try{
Future future = map.putAsync(key, newValue, ttl, timeunit);
Object oldValue = future.get(40, TimeUnit.MILLISECOND);
}catch (TimeoutException t) {
// time wasn't enough
}
ExecutionException is never thrown.
Warning 1:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.Warning 2:
Time resolution for TTL is seconds. Given TTL value is rounded to next closest second value.putAsync in interface IMap<K,V>key - the key of the map entryvalue - the new value of the map entryttl - maximum time for this entry to stay in the map
0 means infinite.timeunit - time unit for the ttlFuturepublic Future<V> removeAsync(K key)
IMapWarning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.removeAsync in interface IMap<K,V>key - The key of the map entry to remove.Future from which the value
removed from the map can be retrieved.public boolean tryRemove(K key, long timeout, TimeUnit timeunit)
IMapWarning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.Warning-2:
This method returns a clone of the previous value, not the original (identically equal) value previously put into the map.
public boolean tryPut(K key, V value, long timeout, TimeUnit timeunit)
IMapWarning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.public V put(K key, V value, long ttl, TimeUnit timeunit)
IMapWarning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.Warning-2:
This method returns a clone of previous value, not the original (identically equal) value previously put into map.
Warning 3:
Time resolution for TTL is seconds. Given TTL value is rounded to the next closest second value.public void putTransient(K key, V value, long ttl, TimeUnit timeunit)
IMap#put(K, V, long, java.util.concurrent.TimeUnit) but MapStore, if defined,
will not be called to store/persist the entry. If ttl is 0, then
the entry lives forever.
Warning 1:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.Warning 2:
Time resolution for TTL is seconds. Given TTL value is rounded to next closest second value.putTransient in interface IMap<K,V>key - key of the entryvalue - value of the entryttl - maximum time for this entry to stay in the map.
0 means infinite.timeunit - time unit for the ttlpublic V putIfAbsent(K key, V value)
IMap
if (!map.containsKey(key))
return map.put(key, value);
else
return map.get(key);
except that the action is performed atomically.
Note:
This method uses hashCode and equals of the binary form of the key, not the actual implementations of hashCode and equals defined in key's class.Also, this method returns a clone of the previous value, not the original (identically equal) value previously put into the map.
putIfAbsent in interface BaseMap<K,V>putIfAbsent in interface IMap<K,V>putIfAbsent in interface ConcurrentMap<K,V>key - The specified key.value - The value to associate with the key when there is no previous value.public V putIfAbsent(K key, V value, long ttl, TimeUnit timeunit)
IMapWarning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.Warning-2:
This method returns a clone of previous value, not the original (identically equal) value previously put into map.
Warning 3:
Time resolution for TTL is seconds. Given TTL value is rounded to next closest second value.putIfAbsent in interface IMap<K,V>key - key of the entryvalue - value of the entryttl - maximum time for this entry to stay in the maptimeunit - time unit for the ttlpublic boolean replace(K key, V oldValue, V newValue)
IMap
if (map.containsKey(key) && map.get(key).equals(oldValue)) {
map.put(key, newValue);
return true;
} else return false;
except that the action is performed atomically.
Warning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.replace in interface BaseMap<K,V>replace in interface IMap<K,V>replace in interface ConcurrentMap<K,V>key - The specified key.oldValue - Replace the key value if it is the old value.newValue - The new value to replace the old value.true if the value was replaced.public V replace(K key, V value)
IMap
if (map.containsKey(key)) {
return map.put(key, value);
} else return null;
except that the action is performed atomically.
Warning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.Warning-2:
This method returns a clone of previous value, not the original (identically equal) value previously put into map.
replace in interface BaseMap<K,V>replace in interface IMap<K,V>replace in interface ConcurrentMap<K,V>key - The specified key.value - The value to replace the previous value.key, or null
if there was no mapping for key.public void set(K key, V value, long ttl, TimeUnit timeunit)
IMapWarning 1:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.Warning 2:
Time resolution for TTL is seconds. Given TTL value is rounded to next closest second value.public void lock(K key)
IMapIf the lock is not available, then the current thread becomes disabled for thread scheduling purposes and lies dormant until the lock has been acquired.
You get a lock whether the value is present in the map or not. Other threads (possibly on other systems) would block on their invoke oflock() until the non-existent key is unlocked. If the lock
holder introduces the key to the map, the put() operation
is not blocked. If a thread not holding a lock on the non-existent key
tries to introduce the key while a lock exists on the non-existent key,
the put() operation blocks until it is unlocked.
Scope of the lock is this map only.
Acquired lock is only for the key in this map.
Locks are re-entrant so if the key is locked N times then
it should be unlocked N times before another thread can acquire it.
There is no lock timeout on this method. Locks will be held infinitely.
Warning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.public void lock(K key, long leaseTime, TimeUnit timeUnit)
IMapAfter lease time, lock will be released..
If the lock is not available then the current thread becomes disabled for thread scheduling purposes and lies dormant until the lock has been acquired.
Scope of the lock is this map only. Acquired lock is only for the key in this map. Locks are re-entrant so if the key is locked N times then it should be unlocked N times before another thread can acquire it.Warning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.public boolean isLocked(K key)
IMapIf the lock is acquired then returns true, else false.
Warning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.public boolean tryLock(K key)
IMapIf the lock is not available then the current thread doesn't wait and returns false immediately.
Warning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.public boolean tryLock(K key, long time, TimeUnit timeunit) throws InterruptedException
IMapIf the lock is not available then the current thread becomes disabled for thread scheduling purposes and lies dormant until one of two things happens:
Warning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.tryLock in interface IMap<K,V>key - key to lock in this maptime - maximum time to wait for the locktimeunit - time unit of the time argument.InterruptedExceptionpublic void unlock(K key)
IMapIf the current thread is the holder of this lock then the hold
count is decremented. If the hold count is now zero then the lock
is released. If the current thread is not the holder of this
lock then IllegalMonitorStateException is thrown.
Warning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.public void forceUnlock(K key)
IMapWarning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.forceUnlock in interface IMap<K,V>key - the key to lock.public String addLocalEntryListener(EntryListener<K,V> listener)
IMapmap.put(key2, value2).
If the key2 is owned by member2 then the local listener will be
notified for the add/update event. Also note that entries can migrate to
other nodes for load balancing and/or membership change.addLocalEntryListener in interface IMap<K,V>listener - entry listenerIMap.localKeySet()public String addLocalEntryListener(EntryListener<K,V> listener, Predicate<K,V> predicate, boolean includeValue)
IMapaddLocalEntryListener in interface IMap<K,V>listener - entry listenerpredicate - predicate for filtering entriesincludeValue - true if EntryEvent should
contain the value.public String addLocalEntryListener(EntryListener<K,V> listener, Predicate<K,V> predicate, K key, boolean includeValue)
IMapaddLocalEntryListener in interface IMap<K,V>listener - entry listenerpredicate - predicate for filtering entrieskey - key to listenincludeValue - true if EntryEvent should
contain the value.public String addInterceptor(MapInterceptor interceptor)
IMapaddInterceptor in interface IMap<K,V>interceptor - map interceptorpublic void removeInterceptor(String id)
IMapremoveInterceptor in interface IMap<K,V>id - registration id of the map interceptorpublic String addEntryListener(EntryListener<K,V> listener, boolean includeValue)
IMapaddEntryListener in interface IMap<K,V>listener - the added entry listener for this mapincludeValue - true if EntryEvent should
contain the value.public boolean removeEntryListener(String id)
IMapremoveEntryListener in interface IMap<K,V>id - id of registered listenerpublic String addEntryListener(EntryListener<K,V> listener, K key, boolean includeValue)
IMapWarning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.addEntryListener in interface IMap<K,V>listener - specified entry listenerkey - key to listenincludeValue - true if EntryEvent should
contain the value.public String addEntryListener(EntryListener<K,V> listener, Predicate<K,V> predicate, K key, boolean includeValue)
IMapaddEntryListener in interface IMap<K,V>listener - the continuous entry listener for this mappredicate - predicate for filtering entrieskey - key to listenincludeValue - true if EntryEvent should
contain the value.public String addEntryListener(EntryListener<K,V> listener, Predicate<K,V> predicate, boolean includeValue)
IMapaddEntryListener in interface IMap<K,V>listener - the added continuous entry listener for this mappredicate - predicate for filtering entriesincludeValue - true if EntryEvent should
contain the value.public EntryView<K,V> getEntryView(K key)
IMapWarning:
This method returns a clone of original mapping, modifying the returned value does not change the actual value in the map. One should put modified value back to make changes visible to all nodes.
Warning-2:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.getEntryView in interface IMap<K,V>key - the key of the entryEntryViewpublic boolean evict(K key)
IMapWarning:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.public void evictAll()
IMapIMap.clear() method.
The EVICT_ALL event is fired for any registered listeners.
See EntryListener.mapEvicted(MapEvent) .evictAll in interface IMap<K,V>IMap.clear()public void loadAll(boolean replaceExistingValues)
IMappublic void loadAll(Set<K> keys, boolean replaceExistingValues)
IMappublic Set<K> keySet()
IMappublic Map<K,V> getAll(Set<K> keys)
IMapMapLoader.loadAll(java.util.Collection).
Warning:
The returned map is NOT backed by the original map, so changes to the original map are NOT reflected in the returned map, and vice-versa.Warning-2:
This method uses hashCode and equals of binary form of the keys, not the actual implementations of hashCode and equals defined in key's class.public Collection<V> values()
IMappublic Set<Map.Entry<K,V>> entrySet()
IMapSet clone of the mappings contained in this map.
The set is NOT backed by the map,
so changes to the map are NOT reflected in the set, and vice-versa.public Set<K> keySet(Predicate predicate)
IMapWarning:
The set is NOT backed by the map, so changes to the map are NOT reflected in the set, and vice-versa.public Set<Map.Entry<K,V>> entrySet(Predicate predicate)
IMapWarning:
The set is NOT backed by the map, so changes to the map are NOT reflected in the set, and vice-versa.public Collection<V> values(Predicate predicate)
IMapWarning:
The collection is NOT backed by the map, so changes to the map are NOT reflected in the collection, and vice-versa.public Set<K> localKeySet()
IMapWarning:
The set is NOT backed by the map, so changes to the map are NOT reflected in the set, and vice-versa.localKeySet in interface IMap<K,V>public Set<K> localKeySet(Predicate predicate)
IMapWarning:
The set is NOT backed by the map, so changes to the map are NOT reflected in the set, and vice-versa.localKeySet in interface IMap<K,V>predicate - specified query criteriapublic void addIndex(String attribute, boolean ordered)
IMap
public class Employee implements Serializable {
private boolean active = false;
private int age;
private String name = null;
// other fields.
// getters setter
}
If you are querying your values mostly based on age and active then
you should consider indexing these fields.
IMap imap = Hazelcast.getMap("employees");
imap.addIndex("age", true); // ordered, since we have ranged queries for this field
imap.addIndex("active", false); // not ordered, because boolean field cannot have range
Index attribute should either have a getter method or be public.
You should also make sure to add the indexes before adding
entries to this map.
public LocalMapStats getLocalMapStats()
IMapgetLocalMapStats in interface IMap<K,V>public Object executeOnKey(K key, EntryProcessor entryProcessor)
IMapexecuteOnKey in interface IMap<K,V>public void submitToKey(K key, EntryProcessor entryProcessor, ExecutionCallback callback)
IMapsubmitToKey in interface IMap<K,V>key - key to be processedentryProcessor - processor to process the keycallback - to listen whether operation is finished or notpublic Future submitToKey(K key, EntryProcessor entryProcessor)
IMapsubmitToKey in interface IMap<K,V>key - key to be processedentryProcessor - processor to process the keyFuturepublic Map<K,Object> executeOnEntries(EntryProcessor entryProcessor)
IMapexecuteOnEntries in interface IMap<K,V>public Map<K,Object> executeOnEntries(EntryProcessor entryProcessor, Predicate predicate)
IMapexecuteOnEntries in interface IMap<K,V>public <SuppliedValue,Result> Result aggregate(Supplier<K,V,SuppliedValue> supplier, Aggregation<K,SuppliedValue,Result> aggregation)
IMapSupplier
is used to either select or to select and extract a (sub-)value. A predefined set of aggregations can be found in
Aggregations.aggregate in interface IMap<K,V>SuppliedValue - the final type emitted from the supplierResult - the resulting aggregation value typesupplier - the supplier to select and / or extract a (sub-)value from the mapaggregation - the aggregation that is being executed against the mappublic <SuppliedValue,Result> Result aggregate(Supplier<K,V,SuppliedValue> supplier, Aggregation<K,SuppliedValue,Result> aggregation, JobTracker jobTracker)
IMapSupplier
is used to either select or to select and extract a (sub-)value. A predefined set of aggregations can be found in
Aggregations.aggregate in interface IMap<K,V>SuppliedValue - the final type emitted from the supplierResult - the resulting aggregation value typesupplier - the supplier to select and / or extract a (sub-)value from the mapaggregation - the aggregation that is being executed against the mapjobTracker - the JobTracker instance to execute the aggregationpublic Map<K,Object> executeOnKeys(Set<K> keys, EntryProcessor entryProcessor)
IMapexecuteOnKeys in interface IMap<K,V>public void set(K key, V value)
IMapWarning:
This method breaks the contract of EntryListener. When an entry is updated by set(), it fires an EntryEvent with a null oldValue.Warning-2:
This method uses hashCode and equals of binary form of the key, not the actual implementations of hashCode and equals defined in key's class.public int size()
BaseMappublic boolean isEmpty()
BaseMappublic void clear()
IMapMapStore.deleteAll(java.util.Collection<K>)deleteAll on MapStore which,
if connected to a database, will delete the records from that database.
The MAP_CLEARED event is fired for any registered listeners.
See EntryListener.mapCleared(MapEvent).
To clear a map without calling MapStore.deleteAll(java.util.Collection<K>) use IMap.evictAll().
If you wish to clear the map only without calling deleteAll, useprotected void onDestroy()
ClientProxyonDestroy in class ClientProxyprotected void onShutdown()
ClientProxyonShutdown in class ClientProxyprotected long getTimeInMillis(long time,
TimeUnit timeunit)
Copyright © 2015 Hazelcast, Inc.. All Rights Reserved.