Construct a ConditionalPut that updates an entry with a new value if and only if the filter applied to the entry evaluates to true. The result of the invocation does not return any result.
the filter to evaluate an entry
a value to update an entry with
Optional
returnValue: booleanspecifies whether or not the processor should return the current value in case it has not been updated
Protected
Readonly
filterThe underlying filter.
Protected
returnSpecifies whether or not a return value is required.
Protected
Readonly
valueSpecifies the new value to update an entry with.
Returns a CompositeProcessor comprised of this and the provided processor.
a CompositeProcessor comprised of this and the provided processor
the next processor
If called, it will cause the processor to return the current value in case it has not been updated.
specifies whether or not the processor should return the current value in case it has not been updated
Returns a ConditionalProcessor comprised of this processor and the provided filter.
The specified entry processor gets invoked if and only if the filter
applied to the entry evaluates to true
; otherwise the
result of the invocation will return null
.
the filter
ConditionalPut
is an EntryProcessor that performs an update operation for an entry that satisfies the specified condition.While the
ConditionalPut
processing could be implemented via direct key-based NamedMap operations, it is more efficient and enforces concurrency control without explicit locking.Obviously, using more specific, fine-tuned filters (rather than ones based on the IdentityExtractor) may provide additional flexibility and efficiency allowing the put operation to be performed conditionally on values of specific attributes (or even calculations) instead of the entire object.