public static interface FunctionalMap.WriteOnlyMap<K,V> extends FunctionalMap<K,V>
EntryView.WriteEntryView.
DESIGN RATIONALES:
FunctionalMap.ReadOnlyMap<K,V>, FunctionalMap.ReadWriteMap<K,V>, FunctionalMap.WriteOnlyMap<K,V>| Modifier and Type | Method and Description |
|---|---|
CompletableFuture<Void> |
eval(K key,
Consumer<EntryView.WriteEntryView<V>> f)
Evaluate a write-only
Consumer operation with a
EntryView.WriteEntryView of the value associated with the key,
and return a CompletableFuture which will be
completed with the object returned by the operation. |
CompletableFuture<Void> |
eval(K key,
V value,
BiConsumer<V,EntryView.WriteEntryView<V>> f)
Evaluate a write-only
BiConsumer operation, with a value
passed in and a EntryView.WriteEntryView of the value associated with
the key, and return a CompletableFuture which will be
completed when the operation completes. |
CompletableFuture<Void> |
evalAll(Consumer<EntryView.WriteEntryView<V>> f)
Evaluate a write-only
Consumer operation with the
EntryView.WriteEntryView of the value associated with the key, for all
existing keys in functional map, and returns a CompletableFuture
that will be completed when the write-only operation has been executed
against all the entries. |
CompletableFuture<Void> |
evalMany(Map<? extends K,? extends V> entries,
BiConsumer<V,EntryView.WriteEntryView<V>> f)
Evaluate a write-only
BiConsumer operation, with a value
passed in and a EntryView.WriteEntryView of the value associated with
the key, for each of the keys in the set passed in, and returns a
CompletableFuture that will be completed when the write-only
operation has been executed against all the entries. |
CompletableFuture<Void> |
evalMany(Set<? extends K> keys,
Consumer<EntryView.WriteEntryView<V>> f)
Evaluate a write-only
Consumer operation with the
EntryView.WriteEntryView of the value associated with the key, for each
of the keys in the set passed in, and returns a
CompletableFuture that will be completed when the write-only
operation has been executed against all the entries. |
Listeners.WriteListeners<K,V> |
listeners()
Allows to write-only listeners to be registered.
|
CompletableFuture<Void> |
truncate()
Truncate the contents of the cache, returning a
CompletableFuture
that will be completed when the truncate process completes. |
FunctionalMap.WriteOnlyMap<K,V> |
withParams(Param<?>... ps)
Tweak write-only functional map executions providing
Param instances. |
getName, getStatuscloseFunctionalMap.WriteOnlyMap<K,V> withParams(Param<?>... ps)
Param instances.withParams in interface FunctionalMap<K,V>CompletableFuture<Void> eval(K key, V value, BiConsumer<V,EntryView.WriteEntryView<V>> f)
BiConsumer operation, with a value
passed in and a EntryView.WriteEntryView of the value associated with
the key, and return a CompletableFuture which will be
completed when the operation completes.
By returning CompletableFuture instead of the function's
return type directly, the method hints at the possibility that to
executing the function might require remote data present in either
a persistent store or a remote clustered node.
This method can be used to implement single-key write-only operations
which do not need to query previous value, such as:
eval(Object, Consumer) enough?
The functionality provided by this function could indeed be implemented
with eval(Object, Consumer), but there's a crucial difference.
If you want to store a value and reference the value to be stored
from the passed in operation, eval(Object, Consumer) needs
to capture that value. Capturing means that each time the operation
is called, a new lambda needs to be instantiated. By offering a
BiConsumer that takes user provided value as first parameter,
the operation does not capture any external objects when implementing
simple operations such as javax.cache.Cache#put(Object, Object),
and hence, the BiConsumer could be cached and reused each
time it's invoked.
key - the key associated with the EntryView.WriteEntryView to be
passed to the operationvalue - value to write, passed in as first parameter to the
BiConsumer operation.f - operation that takes a user defined value, and a
EntryView.WriteEntryView associated with the key, and writes
to the EntryView.WriteEntryView passed in without returning anythingCompletableFuture which will be completed when the
operation completesCompletableFuture<Void> eval(K key, Consumer<EntryView.WriteEntryView<V>> f)
Consumer operation with a
EntryView.WriteEntryView of the value associated with the key,
and return a CompletableFuture which will be
completed with the object returned by the operation.
By returning CompletableFuture instead of the function's
return type directly, the method hints at the possibility that to
executing the function might require remote data present in either
a persistent store or a remote clustered node.
DESIGN RATIONALES:
eval(Object, Object, BiConsumer) enough?
Possibly, this operation makes a bit simpler to write constant
values along with optional metadata parameters.
key - the key associated with the EntryView.WriteEntryView to be
passed to the operationf - operation that takes a EntryView.WriteEntryView associated with
the key and writes to the it without returning anythingCompletableFuture which will be completed when the
operation completesCompletableFuture<Void> evalMany(Map<? extends K,? extends V> entries, BiConsumer<V,EntryView.WriteEntryView<V>> f)
BiConsumer operation, with a value
passed in and a EntryView.WriteEntryView of the value associated with
the key, for each of the keys in the set passed in, and returns a
CompletableFuture that will be completed when the write-only
operation has been executed against all the entries.
This method can be used to implement operations such as:
Map.putAll(Map)entries - the key/value pairs associated with each of the
EntryView.WriteEntryView passed in the function callbacksf - operation that consumes a value associated with a key in the
entries collection and the EntryView.WriteEntryView associated
with that key in the cacheCompletableFuture which will be completed when
the BiConsumer operation has been executed against
all entriesCompletableFuture<Void> evalMany(Set<? extends K> keys, Consumer<EntryView.WriteEntryView<V>> f)
Consumer operation with the
EntryView.WriteEntryView of the value associated with the key, for each
of the keys in the set passed in, and returns a
CompletableFuture that will be completed when the write-only
operation has been executed against all the entries.
This method can be used to implement operations such as
javax.cache.Cache#removeAll(Set).
DESIGN RATIONALE:
keys - the keys associated with each of the EntryView.WriteEntryView
passed in the function callbacksf - operation that the EntryView.WriteEntryView associated with
one of the keys passed inCompletableFuture which will be completed when
the Consumer operation has been executed against all
entriesCompletableFuture<Void> evalAll(Consumer<EntryView.WriteEntryView<V>> f)
Consumer operation with the
EntryView.WriteEntryView of the value associated with the key, for all
existing keys in functional map, and returns a CompletableFuture
that will be completed when the write-only operation has been executed
against all the entries.
This method can be used to implement operations such as
javax.cache.Cache#removeAll().
DESIGN RATIONALE:
f - operation that the EntryView.WriteEntryView associated with
one of the keys passed inCompletableFuture which will be completed when
the Consumer operation has been executed against all
entriesCompletableFuture<Void> truncate()
CompletableFuture
that will be completed when the truncate process completes.
This method can be used to implement:
Map.clear()CompletableFuture that completes when the truncat
has finishedListeners.WriteListeners<K,V> listeners()
Copyright © 2015 JBoss, a division of Red Hat. All rights reserved.