Class ReadWriteManyCommand<K,V,R>
- java.lang.Object
-
- org.infinispan.commands.functional.AbstractWriteManyCommand<K,V>
-
- org.infinispan.commands.functional.ReadWriteManyCommand<K,V,R>
-
- All Implemented Interfaces:
FlagAffectedCommand
,FunctionalCommand<K,V>
,ReplicableCommand
,TopologyAffectedCommand
,VisitableCommand
,WriteCommand
,RemoteLockCommand
public final class ReadWriteManyCommand<K,V,R> extends AbstractWriteManyCommand<K,V>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.infinispan.commands.VisitableCommand
VisitableCommand.LoadType
-
-
Field Summary
Fields Modifier and Type Field Description static byte
COMMAND_ID
-
Constructor Summary
Constructors Constructor Description ReadWriteManyCommand()
ReadWriteManyCommand(Collection<?> keys, Function<EntryView.ReadWriteEntryView<K,V>,R> f, Params params, CommandInvocationId commandInvocationId, DataConversion keyDataConversion, DataConversion valueDataConversion)
ReadWriteManyCommand(ReadWriteManyCommand command)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
acceptVisitor(InvocationContext ctx, Visitor visitor)
Accept a visitor, and return the result of accepting this visitor.Collection<?>
getAffectedKeys()
byte
getCommandId()
Used by marshallers to convert this command into an id for streaming.Function<EntryView.ReadWriteEntryView<K,V>,R>
getFunction()
Collection<?>
getKeysToLock()
It returns aCollection
with the keys to be lock.void
init(ComponentRegistry componentRegistry)
boolean
isForwarded()
boolean
isReturnValueExpected()
If true, a return value will be provided when performed remotely.VisitableCommand.LoadType
loadType()
void
readFrom(ObjectInput input)
Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput)
.void
setForwarded(boolean forwarded)
void
setKeys(Collection<?> keys)
Mutation
toMutation(Object key)
String
toString()
ReadWriteManyCommand<K,V,R>
withKeys(Collection<?> keys)
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, isConditional, isSuccessful, 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 Detail
-
COMMAND_ID
public static final byte COMMAND_ID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ReadWriteManyCommand
public ReadWriteManyCommand(Collection<?> keys, Function<EntryView.ReadWriteEntryView<K,V>,R> f, Params params, CommandInvocationId commandInvocationId, DataConversion keyDataConversion, DataConversion valueDataConversion)
-
ReadWriteManyCommand
public ReadWriteManyCommand(ReadWriteManyCommand command)
-
ReadWriteManyCommand
public ReadWriteManyCommand()
-
-
Method Detail
-
init
public void init(ComponentRegistry componentRegistry)
- Specified by:
init
in interfaceVisitableCommand
- Overrides:
init
in classAbstractWriteManyCommand<K,V>
-
getFunction
public Function<EntryView.ReadWriteEntryView<K,V>,R> getFunction()
-
setKeys
public void setKeys(Collection<?> keys)
-
withKeys
public final ReadWriteManyCommand<K,V,R> withKeys(Collection<?> keys)
-
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
public void writeTo(ObjectOutput output) throws IOException
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
public void readFrom(ObjectInput input) throws IOException, ClassNotFoundException
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
public Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
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
-
getAffectedKeys
public Collection<?> 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
public VisitableCommand.LoadType loadType()
- Returns:
- Nodes on which the command needs to read the previous values of the keys it acts on.
-
getKeysToLock
public Collection<?> 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.
-
-