Class ReadWriteManyEntriesCommand<K,V,T,R>
java.lang.Object
org.infinispan.commands.functional.AbstractWriteManyCommand<K,V>
org.infinispan.commands.functional.ReadWriteManyEntriesCommand<K,V,T,R>
- All Implemented Interfaces:
FlagAffectedCommand
,FunctionalCommand<K,
,V> ReplicableCommand
,TopologyAffectedCommand
,VisitableCommand
,WriteCommand
,RemoteLockCommand
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.infinispan.commands.VisitableCommand
VisitableCommand.LoadType
-
Field Summary
-
Constructor Summary
ConstructorDescriptionReadWriteManyEntriesCommand
(Map<?, ?> arguments, BiFunction<T, EntryView.ReadWriteEntryView<K, V>, R> f, Params params, CommandInvocationId commandInvocationId, DataConversion keyDataConversion, DataConversion valueDataConversion) -
Method Summary
Modifier and TypeMethodDescriptionacceptVisitor
(InvocationContext ctx, Visitor visitor) Accept a visitor, and return the result of accepting this visitor.Collection
<?> Map
<?, ?> byte
Used by marshallers to convert this command into an id for streaming.Collection
<?> It returns aCollection
with the keys to be lock.void
init
(ComponentRegistry componentRegistry) boolean
Certain commands only work based on a certain condition or state of the cache.boolean
boolean
If true, a return value will be provided when performed remotely.boolean
Some commands may want to provide information on whether the command was successful or not.loadType()
void
readFrom
(ObjectInput input) Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput)
.void
setArguments
(Map<?, ?> arguments) void
setForwarded
(boolean forwarded) toMutation
(Object key) toString()
final ReadWriteManyEntriesCommand
<K, V, T, R> withArguments
(Map<?, ?> entries) void
writeTo
(ObjectOutput output) Writes this instance to theObjectOutput
.Methods inherited from class org.infinispan.commands.functional.AbstractWriteManyCommand
fail, getCommandInvocationId, getFlagsBitSet, getInternalMetadata, getKeyDataConversion, getKeyLockOwner, getParams, getTopologyId, getValueDataConversion, getValueMatcher, hasSkipLocking, hasZeroLockAcquisition, setFlagsBitSet, setInternalMetadata, setParams, setTopologyId, setValueMatcher
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.infinispan.commands.FlagAffectedCommand
addFlag, addFlags, addFlags, getFlags, hasAllFlags, hasAnyFlag, hasFlag, setFlags
Methods inherited from interface org.infinispan.commands.ReplicableCommand
canBlock, invoke, invokeAsync, logThrowable, setOrigin
Methods inherited from interface org.infinispan.commands.write.WriteCommand
isWriteOnly, updateStatusFromRemoteResponse
-
Field Details
-
COMMAND_ID
public static final byte COMMAND_ID- See Also:
-
-
Constructor Details
-
ReadWriteManyEntriesCommand
public ReadWriteManyEntriesCommand(Map<?, ?> arguments, BiFunction<T, EntryView.ReadWriteEntryView<K, V>, R> f, Params params, CommandInvocationId commandInvocationId, DataConversion keyDataConversion, DataConversion valueDataConversion) -
ReadWriteManyEntriesCommand
-
ReadWriteManyEntriesCommand
public ReadWriteManyEntriesCommand()
-
-
Method Details
-
init
- Specified by:
init
in interfaceVisitableCommand
- Overrides:
init
in classAbstractWriteManyCommand<K,
V>
-
getBiFunction
-
getArguments
-
setArguments
-
withArguments
-
getCommandId
public byte getCommandId()Description copied from interface:ReplicableCommand
Used by marshallers to convert this command into an id for streaming.- Returns:
- the method id of this command. This is compatible with pre-2.2.0 MethodCall ids.
-
writeTo
Description copied from interface:ReplicableCommand
Writes this instance to theObjectOutput
.- Parameters:
output
- the stream.- Throws:
IOException
- if an error occurred during the I/O.
-
readFrom
Description copied from interface:ReplicableCommand
Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput)
.- Parameters:
input
- the stream to read.- Throws:
IOException
- if an error occurred during the I/O.ClassNotFoundException
- if it tries to load an undefined class.
-
isForwarded
public boolean isForwarded()- Overrides:
isForwarded
in classAbstractWriteManyCommand<K,
V>
-
setForwarded
public void setForwarded(boolean forwarded) - Overrides:
setForwarded
in classAbstractWriteManyCommand<K,
V>
-
isReturnValueExpected
public boolean isReturnValueExpected()Description copied from interface:ReplicableCommand
If true, a return value will be provided when performed remotely. Otherwise, a remoteResponseGenerator
may choose to simply return null to save on marshalling costs.- Returns:
- true or false
-
acceptVisitor
Description copied from interface:VisitableCommand
Accept a visitor, and return the result of accepting this visitor.- Parameters:
ctx
- invocation contextvisitor
- visitor to accept- Returns:
- arbitrary return value
- Throws:
Throwable
- in the event of problems
-
isSuccessful
public boolean isSuccessful()Description copied from interface:WriteCommand
Some commands may want to provide information on whether the command was successful or not. This is different from a failure, which usually would result in an exception being thrown. An example is a putIfAbsent() not doing anything because the key in question was present. This would result in a isSuccessful() call returning false.- Specified by:
isSuccessful
in interfaceReplicableCommand
- Specified by:
isSuccessful
in interfaceWriteCommand
- Overrides:
isSuccessful
in classAbstractWriteManyCommand<K,
V> - Returns:
- true if the command completed successfully, false otherwise.
-
isConditional
public boolean isConditional()Description copied from interface:WriteCommand
Certain commands only work based on a certain condition or state of the cache. For example,ConcurrentMap.putIfAbsent(Object, Object)
only does anything if a condition is met, i.e., the entry in question is not already present. This method tests whether the command in question is conditional or not.- Specified by:
isConditional
in interfaceWriteCommand
- Overrides:
isConditional
in classAbstractWriteManyCommand<K,
V> - Returns:
- true if the command is conditional, false otherwise
-
getAffectedKeys
- Returns:
- a collection of keys affected by this write command. Some commands - such as ClearCommand - may return an empty collection for this method.
-
loadType
- Returns:
- Nodes on which the command needs to read the previous values of the keys it acts on.
-
toString
-
getKeysToLock
Description copied from interface:RemoteLockCommand
It returns aCollection
with the keys to be lock.It may return an empty collection if no keys needs to be locked independently of the return value of
RemoteLockCommand.hasSkipLocking()
. It may contains duplicated keys andnull
is not a valid return value.- Returns:
- a
Collection
of keys to lock.
-
toMutation
-