public class ApplyDeltaCommand extends AbstractDataWriteCommand
Modifier and Type | Field and Description |
---|---|
static int |
COMMAND_ID |
commandInvocationId
key
flags
Constructor and Description |
---|
ApplyDeltaCommand() |
ApplyDeltaCommand(Object deltaAwareValueKey,
Delta delta,
Collection<Object> keys,
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 |
alwaysReadsExistingValues() |
boolean |
equals(Object o) |
byte |
getCommandId()
Used by marshallers to convert this command into an id for streaming.
|
Object[] |
getCompositeKeys() |
Delta |
getDelta() |
Object[] |
getKeys() |
ValueMatcher |
getValueMatcher() |
int |
hashCode() |
boolean |
ignoreCommandOnStatus(ComponentStatus status)
Similar to
VisitableCommand.shouldInvoke(InvocationContext) but evaluated by InvocationContextInterceptor . |
boolean |
isConditional()
Certain commands only work based on a certain condition or state of the cache.
|
boolean |
isSuccessful()
Some commands may want to provide information on whether the command was successful or not.
|
Object |
perform(InvocationContext ctx)
Performs an application of delta on a specified entry
|
void |
readFrom(ObjectInput input)
Reads this instance from the stream written by
ReplicableCommand.writeTo(ObjectOutput) . |
boolean |
readsExistingValues() |
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, isReturnValueExpected
getKey, setKey, shouldInvoke
getMetadata, getTopologyId, setMetadata, setTopologyId
getFlags, setFlags
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
isWriteOnly
shouldInvoke
getTopologyId, setTopologyId
getParameters, setParameters
getMetadata, setMetadata
addFlag, addFlags, getFlags, hasFlag, setFlags, setFlags
getKey
public static final int COMMAND_ID
public ApplyDeltaCommand()
public ApplyDeltaCommand(Object deltaAwareValueKey, Delta delta, Collection<Object> keys, CommandInvocationId commandInvocationId)
public Delta getDelta()
public Object perform(InvocationContext ctx) throws Throwable
ctx
- invocation contextThrowable
- in the event of problems.public byte getCommandId()
ReplicableCommand
public String toString()
toString
in class AbstractDataCommand
public void writeTo(ObjectOutput output) throws IOException
ReplicableCommand
ObjectOutput
.output
- the stream.IOException
- if an error occurred during the I/O.public void readFrom(ObjectInput input) throws IOException, ClassNotFoundException
ReplicableCommand
ReplicableCommand.writeTo(ObjectOutput)
.input
- the stream to read.IOException
- if an error occurred during the I/O.ClassNotFoundException
- if it tries to load an undefined class.public Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
VisitableCommand
ctx
- invocation contextvisitor
- visitor to acceptThrowable
- in the event of problemspublic Object[] getKeys()
public Object[] getCompositeKeys()
public boolean ignoreCommandOnStatus(ComponentStatus status)
VisitableCommand
VisitableCommand.shouldInvoke(InvocationContext)
but evaluated by InvocationContextInterceptor
.
Commands can opt to be discarded in case the cache status is not suited (as InvalidateCommand
)ignoreCommandOnStatus
in interface VisitableCommand
ignoreCommandOnStatus
in class AbstractDataCommand
public boolean readsExistingValues()
true
if the command needs to read the previous values of the keys it acts on.public boolean alwaysReadsExistingValues()
true
if the command needs to read the previous values even on the backup owners.
In transactional caches, this refers to all the owners except the originator.public boolean equals(Object o)
equals
in class AbstractDataCommand
public int hashCode()
hashCode
in class AbstractDataCommand
public boolean isSuccessful()
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.public ValueMatcher getValueMatcher()
public void setValueMatcher(ValueMatcher valueMatcher)
valueMatcher
- The new value matching policy.public void updateStatusFromRemoteResponse(Object remoteResponse)
WriteCommand
Copyright © 2018 JBoss, a division of Red Hat. All rights reserved.