public class RemoveCommand extends AbstractDataWriteCommand
| Modifier and Type | Field and Description |
|---|---|
static byte |
COMMAND_ID |
protected CacheNotifier |
notifier |
protected Object |
value
When not null, value indicates that the entry should only be removed if the key is mapped to this value.
|
protected Equivalence |
valueEquivalence |
protected ValueMatcher |
valueMatcher |
commandInvocationIdkeyflags| Constructor and Description |
|---|
RemoveCommand() |
RemoveCommand(Object key,
Object value,
CacheNotifier notifier,
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.
|
Object |
getValue() |
ValueMatcher |
getValueMatcher() |
int |
hashCode() |
boolean |
ignoreCommandOnStatus(ComponentStatus status)
Similar to
VisitableCommand.shouldInvoke(InvocationContext) but evaluated by InvocationContextInterceptor. |
void |
init(CacheNotifier notifier,
Configuration configuration) |
boolean |
isConditional()
Certain commands only work based on a certain condition or state of the cache.
|
boolean |
isNonExistent() |
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.
|
void |
notify(InvocationContext ctx,
Object removedValue,
Metadata removedMetadata,
boolean isPre) |
Object |
perform(InvocationContext ctx)
Performs the primary function of the command.
|
protected Object |
performRemove(CacheEntry e,
InvocationContext ctx) |
void |
readFrom(ObjectInput input)
Reads this instance from the stream written by
ReplicableCommand.writeTo(ObjectOutput). |
boolean |
readsExistingValues() |
void |
setValue(Object value) |
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, hasZeroLockAcquisitiongetKey, setKey, shouldInvokegetMetadata, getTopologyId, setMetadata, setTopologyIdgetFlags, setFlagsclone, finalize, getClass, notify, notifyAll, wait, wait, waitisWriteOnlyalwaysReadsExistingValues, shouldInvokegetTopologyId, setTopologyIdgetParameters, setParametersgetMetadata, setMetadataaddFlag, addFlags, getFlags, hasFlag, setFlags, setFlagsgetKeypublic static final byte COMMAND_ID
protected CacheNotifier notifier
protected ValueMatcher valueMatcher
protected Equivalence valueEquivalence
protected Object value
public RemoveCommand(Object key, Object value, CacheNotifier notifier, Set<Flag> flags, Equivalence valueEquivalence, CommandInvocationId commandInvocationId)
public RemoveCommand()
public void init(CacheNotifier notifier, Configuration configuration)
public Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
VisitableCommandctx - invocation contextvisitor - visitor to acceptThrowable - in the event of problemspublic Object perform(InvocationContext ctx) throws Throwable
ReplicableCommandctx - invocation contextThrowable - in the event of problems.public void notify(InvocationContext ctx, Object removedValue, Metadata removedMetadata, boolean isPre)
public byte getCommandId()
ReplicableCommandpublic boolean equals(Object o)
equals in class AbstractDataCommandpublic int hashCode()
hashCode in class AbstractDataCommandpublic String toString()
toString in class AbstractDataCommandpublic boolean isSuccessful()
WriteCommandpublic boolean isConditional()
WriteCommandConcurrentMap.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 boolean isNonExistent()
public void writeTo(ObjectOutput output) throws IOException
ReplicableCommandObjectOutput.output - the stream.IOException - if an error occurred during the I/O.public void readFrom(ObjectInput input) throws IOException, ClassNotFoundException
ReplicableCommandReplicableCommand.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 ValueMatcher getValueMatcher()
public void setValueMatcher(ValueMatcher valueMatcher)
valueMatcher - The new value matching policy.public void updateStatusFromRemoteResponse(Object remoteResponse)
WriteCommandpublic boolean ignoreCommandOnStatus(ComponentStatus status)
VisitableCommandVisitableCommand.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 VisitableCommandignoreCommandOnStatus in class AbstractDataCommandpublic boolean readsExistingValues()
true if the command needs to read the previous values of the keys it acts on.public Object getValue()
public void setValue(Object value)
public final boolean isReturnValueExpected()
ReplicableCommandResponseGenerator
may choose to simply return null to save on marshalling costs.isReturnValueExpected in interface ReplicableCommandisReturnValueExpected in class AbstractDataWriteCommandprotected Object performRemove(CacheEntry e, InvocationContext ctx)
Copyright © 2024 JBoss, a division of Red Hat. All rights reserved.