public class ReplaceCommand extends AbstractDataWriteCommand implements MetadataAwareCommand
Modifier and Type | Field and Description |
---|---|
static byte |
COMMAND_ID |
commandInvocationId
key
flags
Constructor and Description |
---|
ReplaceCommand() |
ReplaceCommand(Object key,
Object oldValue,
Object newValue,
CacheNotifier notifier,
Metadata metadata,
Set<Flag> flags,
Equivalence valueEquivalence,
CommandInvocationId commandInvocationId) |
Modifier and Type | Method and Description |
---|---|
Object |
acceptVisitor(InvocationContext ctx,
Visitor visitor)
Accept a visitor, and return the result of accepting this visitor.
|
boolean |
equals(Object o) |
byte |
getCommandId()
Used by marshallers to convert this command into an id for streaming.
|
Metadata |
getMetadata()
Get metadata of this command.
|
Object |
getNewValue() |
Object |
getOldValue() |
ValueMatcher |
getValueMatcher() |
int |
hashCode() |
void |
init(CacheNotifier notifier,
Configuration cfg) |
boolean |
isConditional()
Certain commands only work based on a certain condition or state of the cache.
|
boolean |
isReturnValueExpected()
If true, a return value will be provided when performed remotely.
|
boolean |
isSuccessful()
Some commands may want to provide information on whether the command was successful or not.
|
Object |
perform(InvocationContext ctx)
Performs the primary function of the command.
|
void |
readFrom(ObjectInput input)
Reads this instance from the stream written by
ReplicableCommand.writeTo(ObjectOutput) . |
boolean |
readsExistingValues() |
void |
setMetadata(Metadata metadata)
Sets metadata for this command.
|
void |
setNewValue(Object newValue) |
void |
setOldValue(Object oldValue) |
void |
setValueMatcher(ValueMatcher valueMatcher) |
String |
toString() |
void |
updateStatusFromRemoteResponse(Object remoteResponse)
Used for conditional commands, to update the status of the command on the originator
based on the result of its execution on the primary owner.
|
void |
writeTo(ObjectOutput output)
Writes this instance to the
ObjectOutput . |
canBlock, getAffectedKeys, getKeyLockOwner, getKeysToLock, hasSkipLocking, hasZeroLockAcquisition
getKey, ignoreCommandOnStatus, setKey, shouldInvoke
getTopologyId, setTopologyId
getFlags, setFlags
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
isWriteOnly
alwaysReadsExistingValues, ignoreCommandOnStatus, shouldInvoke
getTopologyId, setTopologyId
getParameters, setParameters
addFlag, addFlags, getFlags, hasFlag, setFlags, setFlags
getKey
public static final byte COMMAND_ID
public ReplaceCommand()
public ReplaceCommand(Object key, Object oldValue, Object newValue, CacheNotifier notifier, Metadata metadata, Set<Flag> flags, Equivalence valueEquivalence, CommandInvocationId commandInvocationId)
public void init(CacheNotifier notifier, Configuration cfg)
public Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
VisitableCommand
acceptVisitor
in interface VisitableCommand
ctx
- invocation contextvisitor
- visitor to acceptThrowable
- in the event of problemspublic boolean readsExistingValues()
readsExistingValues
in interface VisitableCommand
true
if the command needs to read the previous values of the keys it acts on.public Object perform(InvocationContext ctx) throws Throwable
ReplicableCommand
perform
in interface ReplicableCommand
ctx
- invocation contextThrowable
- in the event of problems.public byte getCommandId()
ReplicableCommand
getCommandId
in interface ReplicableCommand
public void writeTo(ObjectOutput output) throws IOException
ReplicableCommand
ObjectOutput
.writeTo
in interface ReplicableCommand
output
- the stream.IOException
- if an error occurred during the I/O.public void readFrom(ObjectInput input) throws IOException, ClassNotFoundException
ReplicableCommand
ReplicableCommand.writeTo(ObjectOutput)
.readFrom
in interface ReplicableCommand
input
- the stream to read.IOException
- if an error occurred during the I/O.ClassNotFoundException
- if it tries to load an undefined class.public boolean equals(Object o)
equals
in class AbstractDataCommand
public int hashCode()
hashCode
in class AbstractDataCommand
public boolean isSuccessful()
WriteCommand
isSuccessful
in interface WriteCommand
public boolean isConditional()
WriteCommand
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.isConditional
in interface WriteCommand
public Metadata getMetadata()
MetadataAwareCommand
getMetadata
in interface MetadataAwareCommand
getMetadata
in class AbstractFlagAffectedCommand
public void setMetadata(Metadata metadata)
MetadataAwareCommand
setMetadata
in interface MetadataAwareCommand
setMetadata
in class AbstractFlagAffectedCommand
public Object getOldValue()
public void setOldValue(Object oldValue)
public Object getNewValue()
public void setNewValue(Object newValue)
public ValueMatcher getValueMatcher()
getValueMatcher
in interface WriteCommand
public void setValueMatcher(ValueMatcher valueMatcher)
setValueMatcher
in interface WriteCommand
valueMatcher
- The new value matching policy.public void updateStatusFromRemoteResponse(Object remoteResponse)
WriteCommand
updateStatusFromRemoteResponse
in interface WriteCommand
public final boolean isReturnValueExpected()
ReplicableCommand
ResponseGenerator
may choose to simply return null to save on marshalling costs.isReturnValueExpected
in interface ReplicableCommand
isReturnValueExpected
in class AbstractDataWriteCommand
public String toString()
toString
in class AbstractDataCommand
Copyright © 2023 JBoss, a division of Red Hat. All rights reserved.