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 byteCOMMAND_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 ObjectacceptVisitor(InvocationContext ctx, Visitor visitor)Accept a visitor, and return the result of accepting this visitor.Collection<?>getAffectedKeys()bytegetCommandId()Used by marshallers to convert this command into an id for streaming.Function<EntryView.ReadWriteEntryView<K,V>,R>getFunction()Collection<?>getKeysToLock()It returns aCollectionwith the keys to be lock.voidinit(ComponentRegistry componentRegistry)booleanisForwarded()booleanisReturnValueExpected()If true, a return value will be provided when performed remotely.VisitableCommand.LoadTypeloadType()voidreadFrom(ObjectInput input)Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput).voidsetForwarded(boolean forwarded)voidsetKeys(Collection<?> keys)MutationtoMutation(Object key)StringtoString()ReadWriteManyCommand<K,V,R>withKeys(Collection<?> keys)voidwriteTo(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, 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:
initin interfaceVisitableCommand- Overrides:
initin 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:ReplicableCommandUsed 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:ReplicableCommandWrites 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:ReplicableCommandReads 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:
isForwardedin classAbstractWriteManyCommand<K,V>
-
setForwarded
public void setForwarded(boolean forwarded)
- Overrides:
setForwardedin classAbstractWriteManyCommand<K,V>
-
isReturnValueExpected
public boolean isReturnValueExpected()
Description copied from interface:ReplicableCommandIf true, a return value will be provided when performed remotely. Otherwise, a remoteResponseGeneratormay 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:VisitableCommandAccept 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:RemoteLockCommandIt returns aCollectionwith 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 andnullis not a valid return value.- Returns:
- a
Collectionof keys to lock.
-
-