public class DefaultConsistentTreeMap<V> extends Synchronous<AsyncConsistentTreeMap<V>> implements ConsistentTreeMap<V>
ConsistentTreeMap interface.DistributedPrimitive.Status, DistributedPrimitive.TypeDEFAULT_OPERATION_TIMEOUT_MILLIS, DEFAULT_OPERTATION_TIMEOUT_MILLIS| Constructor and Description |
|---|
DefaultConsistentTreeMap(AsyncConsistentTreeMap<V> treeMap,
long operationTimeoutMillis) |
| Modifier and Type | Method and Description |
|---|---|
void |
addListener(MapEventListener<java.lang.String,V> listener,
java.util.concurrent.Executor executor)
Registers the specified listener to be notified whenever the map is updated.
|
java.util.Map<java.lang.String,V> |
asJavaMap()
Returns a java.util.Map instance backed by this ConsistentMap.
|
java.util.Map.Entry<java.lang.String,Versioned<V>> |
ceilingEntry(java.lang.String key)
Returns the entry associated with the least key greater than or equal to the key.
|
java.lang.String |
ceilingKey(java.lang.String key)
Returns the lowest key greater than or equal to key.
|
void |
clear()
Removes all of the mappings from this map (optional operation).
|
Versioned<V> |
compute(java.lang.String key,
java.util.function.BiFunction<? super java.lang.String,? super V,? extends V> remappingFunction)
Attempts to compute a mapping for the specified key and its current mapped value (or
null if there is no current mapping).
|
Versioned<V> |
computeIf(java.lang.String key,
java.util.function.Predicate<? super V> condition,
java.util.function.BiFunction<? super java.lang.String,? super V,? extends V> remappingFunction)
If the value for the specified key satisfies a condition, attempts to compute a new
mapping given the key and its current mapped value.
|
Versioned<V> |
computeIfAbsent(java.lang.String key,
java.util.function.Function<? super java.lang.String,? extends V> mappingFunction)
If the specified key is not already associated with a value (or is mapped to null),
attempts to compute its value using the given mapping function and enters it into
this map unless null.
|
Versioned<V> |
computeIfPresent(java.lang.String key,
java.util.function.BiFunction<? super java.lang.String,? super V,? extends V> remappingFunction)
If the value for the specified key is present and non-null, attempts to compute a new
mapping given the key and its current mapped value.
|
boolean |
containsKey(java.lang.String key)
Returns true if this map contains a mapping for the specified key.
|
boolean |
containsValue(V value)
Returns true if this map contains the specified value.
|
java.util.Set<java.util.Map.Entry<java.lang.String,Versioned<V>>> |
entrySet()
Returns the set of entries contained in this map.
|
java.util.Map.Entry<java.lang.String,Versioned<V>> |
firstEntry()
Returns the entry associated with the lowest key in the map.
|
java.lang.String |
firstKey()
Returns the lowest key in the map.
|
java.util.Map.Entry<java.lang.String,Versioned<V>> |
floorEntry(java.lang.String key)
Returns the entry associated with the greatest key less than or equal to key.
|
java.lang.String |
floorKey(java.lang.String key)
Returns the entry associated with the highest key less than or equal to key.
|
Versioned<V> |
get(java.lang.String key)
Returns the value (and version) to which the specified key is mapped, or null if this
map contains no mapping for the key.
|
Versioned<V> |
getOrDefault(java.lang.String key,
V defaultValue)
Returns the value (and version) to which the specified key is mapped, or the provided
default value if this map contains no mapping for the key.
|
java.util.Map.Entry<java.lang.String,Versioned<V>> |
higherEntry(java.lang.String key)
Returns the entry associated with the lest key greater than key.
|
java.lang.String |
higherKey(java.lang.String key)
Returns the lowest key greater than key.
|
boolean |
isEmpty()
Returns true if the map is empty.
|
java.util.Set<java.lang.String> |
keySet()
Returns a Set view of the keys contained in this map.
|
java.util.Map.Entry<java.lang.String,Versioned<V>> |
lastEntry()
Returns the entry associated with the highest key in the map.
|
java.lang.String |
lastKey()
Returns the highest key in the map.
|
java.util.Map.Entry<java.lang.String,Versioned<V>> |
lowerEntry(java.lang.String key)
Returns the entry associated with the largest key less than key.
|
java.lang.String |
lowerKey(java.lang.String key)
Returns the entry associated with the greatest key less than key.
|
java.util.NavigableSet<java.lang.String> |
navigableKeySet()
Returns a navigable set of the keys in this map.
|
java.util.Map.Entry<java.lang.String,Versioned<V>> |
pollFirstEntry()
Returns and removes the entry associated with the lowest key.
|
java.util.Map.Entry<java.lang.String,Versioned<V>> |
pollLastEntry()
Returns and removes the entry associated with the highest key.
|
Versioned<V> |
put(java.lang.String key,
V value)
Associates the specified value with the specified key in this map (optional operation).
|
Versioned<V> |
putAndGet(java.lang.String key,
V value)
Associates the specified value with the specified key in this map (optional operation).
|
Versioned<V> |
putIfAbsent(java.lang.String key,
V value)
If the specified key is not already associated with a value
associates it with the given value and returns null, else returns the current value.
|
Versioned<V> |
remove(java.lang.String key)
Removes the mapping for a key from this map if it is present (optional operation).
|
boolean |
remove(java.lang.String key,
long version)
Removes the entry for the specified key only if its current
version in the map is equal to the specified version.
|
boolean |
remove(java.lang.String key,
V value)
Removes the entry for the specified key only if it is currently
mapped to the specified value.
|
void |
removeListener(MapEventListener<java.lang.String,V> listener)
Unregisters the specified listener such that it will no longer
receive map change notifications.
|
boolean |
replace(java.lang.String key,
long oldVersion,
V newValue)
Replaces the entry for the specified key only if it is currently mapped to the
specified version.
|
Versioned<V> |
replace(java.lang.String key,
V value)
Replaces the entry for the specified key only if there is any value
which associated with specified key.
|
boolean |
replace(java.lang.String key,
V oldValue,
V newValue)
Replaces the entry for the specified key only if currently mapped
to the specified value.
|
int |
size()
Returns the number of entries in the map.
|
java.util.NavigableMap<java.lang.String,V> |
subMap(java.lang.String upperKey,
java.lang.String lowerKey,
boolean inclusiveUpper,
boolean inclusiveLower)
Returns a navigable map containing the entries from the original map
which are larger than (or if specified equal to)
lowerKey AND
less than (or if specified equal to) upperKey. |
java.util.Collection<Versioned<V>> |
values()
Returns the collection of values (and associated versions) contained in this map.
|
destroy, name, primitiveTypeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddListeneraddStatusChangeListener, applicationId, destroy, name, primitiveType, removeStatusChangeListener, statusChangeListenerspublic DefaultConsistentTreeMap(AsyncConsistentTreeMap<V> treeMap, long operationTimeoutMillis)
public java.lang.String firstKey()
ConsistentTreeMapfirstKey in interface ConsistentTreeMap<V>public java.lang.String lastKey()
ConsistentTreeMaplastKey in interface ConsistentTreeMap<V>public java.util.Map.Entry<java.lang.String,Versioned<V>> ceilingEntry(java.lang.String key)
ConsistentTreeMapceilingEntry in interface ConsistentTreeMap<V>key - the keypublic java.util.Map.Entry<java.lang.String,Versioned<V>> floorEntry(java.lang.String key)
ConsistentTreeMapfloorEntry in interface ConsistentTreeMap<V>key - the keypublic java.util.Map.Entry<java.lang.String,Versioned<V>> higherEntry(java.lang.String key)
ConsistentTreeMaphigherEntry in interface ConsistentTreeMap<V>key - the keypublic java.util.Map.Entry<java.lang.String,Versioned<V>> lowerEntry(java.lang.String key)
ConsistentTreeMaplowerEntry in interface ConsistentTreeMap<V>key - the keypublic java.util.Map.Entry<java.lang.String,Versioned<V>> firstEntry()
ConsistentTreeMapfirstEntry in interface ConsistentTreeMap<V>public java.util.Map.Entry<java.lang.String,Versioned<V>> lastEntry()
ConsistentTreeMaplastEntry in interface ConsistentTreeMap<V>public java.util.Map.Entry<java.lang.String,Versioned<V>> pollFirstEntry()
ConsistentTreeMappollFirstEntry in interface ConsistentTreeMap<V>public java.util.Map.Entry<java.lang.String,Versioned<V>> pollLastEntry()
ConsistentTreeMappollLastEntry in interface ConsistentTreeMap<V>public java.lang.String lowerKey(java.lang.String key)
ConsistentTreeMaplowerKey in interface ConsistentTreeMap<V>key - the keypublic java.lang.String floorKey(java.lang.String key)
ConsistentTreeMapfloorKey in interface ConsistentTreeMap<V>key - the keypublic java.lang.String ceilingKey(java.lang.String key)
ConsistentTreeMapceilingKey in interface ConsistentTreeMap<V>key - the keypublic java.lang.String higherKey(java.lang.String key)
ConsistentTreeMaphigherKey in interface ConsistentTreeMap<V>key - the keypublic java.util.NavigableSet<java.lang.String> navigableKeySet()
ConsistentTreeMapnavigableKeySet in interface ConsistentTreeMap<V>public int size()
ConsistentMapsize in interface ConsistentMap<java.lang.String,V>public boolean isEmpty()
ConsistentMapisEmpty in interface ConsistentMap<java.lang.String,V>public boolean containsKey(java.lang.String key)
ConsistentMapcontainsKey in interface ConsistentMap<java.lang.String,V>key - keypublic boolean containsValue(V value)
ConsistentMapcontainsValue in interface ConsistentMap<java.lang.String,V>value - valuepublic Versioned<V> get(java.lang.String key)
ConsistentMapget in interface ConsistentMap<java.lang.String,V>key - the key whose associated value (and version) is to be returnedpublic Versioned<V> getOrDefault(java.lang.String key, V defaultValue)
ConsistentMap
Note: a non-null Versioned value will be returned even if the defaultValue
is null.
getOrDefault in interface ConsistentMap<java.lang.String,V>key - the key whose associated value (and version) is to be returneddefaultValue - the default value to return if the key is not setpublic Versioned<V> computeIfAbsent(java.lang.String key, java.util.function.Function<? super java.lang.String,? extends V> mappingFunction)
ConsistentMapcomputeIfAbsent in interface ConsistentMap<java.lang.String,V>key - key with which the specified value is to be associatedmappingFunction - the function to compute a valueConsistentMapException.ConcurrentModification
if a concurrent modification of map is detectedpublic Versioned<V> compute(java.lang.String key, java.util.function.BiFunction<? super java.lang.String,? super V,? extends V> remappingFunction)
ConsistentMapcompute in interface ConsistentMap<java.lang.String,V>key - key with which the specified value is to be associatedremappingFunction - the function to compute a valueConsistentMapException.ConcurrentModification
if a concurrent modification of map is detectedpublic Versioned<V> computeIfPresent(java.lang.String key, java.util.function.BiFunction<? super java.lang.String,? super V,? extends V> remappingFunction)
ConsistentMapcomputeIfPresent in interface ConsistentMap<java.lang.String,V>key - key with which the specified value is to be associatedremappingFunction - the function to compute a valueConsistentMapException.ConcurrentModification
if a concurrent modification of map is detectedpublic Versioned<V> computeIf(java.lang.String key, java.util.function.Predicate<? super V> condition, java.util.function.BiFunction<? super java.lang.String,? super V,? extends V> remappingFunction)
ConsistentMapcomputeIf in interface ConsistentMap<java.lang.String,V>key - key with which the specified value is to be associatedcondition - condition that should evaluate to true for the computation to proceedremappingFunction - the function to compute a valueConsistentMapException.ConcurrentModification if a concurrent
modification of map is detectedpublic Versioned<V> put(java.lang.String key, V value)
ConsistentMapput in interface ConsistentMap<java.lang.String,V>key - key with which the specified value is to be associatedvalue - value to be associated with the specified keypublic Versioned<V> putAndGet(java.lang.String key, V value)
ConsistentMapputAndGet in interface ConsistentMap<java.lang.String,V>key - key with which the specified value is to be associatedvalue - value to be associated with the specified keypublic Versioned<V> remove(java.lang.String key)
ConsistentMapremove in interface ConsistentMap<java.lang.String,V>key - key whose value is to be removed from the mappublic void clear()
ConsistentMapclear in interface ConsistentMap<java.lang.String,V>public java.util.Set<java.lang.String> keySet()
ConsistentMapkeySet in interface ConsistentMap<java.lang.String,V>public java.util.Collection<Versioned<V>> values()
ConsistentMapvalues in interface ConsistentMap<java.lang.String,V>public java.util.Set<java.util.Map.Entry<java.lang.String,Versioned<V>>> entrySet()
ConsistentMapentrySet in interface ConsistentMap<java.lang.String,V>public Versioned<V> putIfAbsent(java.lang.String key, V value)
ConsistentMapputIfAbsent in interface ConsistentMap<java.lang.String,V>key - key with which the specified value is to be associatedvalue - value to be associated with the specified keypublic boolean remove(java.lang.String key,
V value)
ConsistentMapremove in interface ConsistentMap<java.lang.String,V>key - key with which the specified value is associatedvalue - value expected to be associated with the specified keypublic boolean remove(java.lang.String key,
long version)
ConsistentMapremove in interface ConsistentMap<java.lang.String,V>key - key with which the specified version is associatedversion - version expected to be associated with the specified keypublic Versioned<V> replace(java.lang.String key, V value)
ConsistentMapreplace in interface ConsistentMap<java.lang.String,V>key - key with which the specified value is associatedvalue - value expected to be associated with the specified keypublic boolean replace(java.lang.String key,
V oldValue,
V newValue)
ConsistentMapreplace in interface ConsistentMap<java.lang.String,V>key - key with which the specified value is associatedoldValue - value expected to be associated with the specified keynewValue - value to be associated with the specified keypublic boolean replace(java.lang.String key,
long oldVersion,
V newValue)
ConsistentMapreplace in interface ConsistentMap<java.lang.String,V>key - key key with which the specified value is associatedoldVersion - version expected to be associated with the specified keynewValue - value to be associated with the specified keypublic void addListener(MapEventListener<java.lang.String,V> listener, java.util.concurrent.Executor executor)
ConsistentMapaddListener in interface ConsistentMap<java.lang.String,V>listener - listener to notify about map eventsexecutor - executor to use for handling incoming map eventspublic void removeListener(MapEventListener<java.lang.String,V> listener)
ConsistentMapremoveListener in interface ConsistentMap<java.lang.String,V>listener - listener to unregisterpublic java.util.Map<java.lang.String,V> asJavaMap()
ConsistentMapasJavaMap in interface ConsistentMap<java.lang.String,V>public java.util.NavigableMap<java.lang.String,V> subMap(java.lang.String upperKey, java.lang.String lowerKey, boolean inclusiveUpper, boolean inclusiveLower)
ConsistentTreeMaplowerKey AND
less than (or if specified equal to) upperKey.subMap in interface ConsistentTreeMap<V>upperKey - the upper bound for the keys in this maplowerKey - the lower bound for the keys in this mapinclusiveUpper - whether keys equal to the upperKey should be
includedinclusiveLower - whether keys equal to the lowerKey should be
included