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 ValueMatcher |
valueMatcher |
key
flags
Constructor and Description |
---|
RemoveCommand() |
RemoveCommand(Object key,
Object value,
CacheNotifier notifier,
Set<Flag> flags,
Equivalence valueEquivalence) |
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[] |
getParameters()
Used by marshallers to stream this command across a network
|
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.
|
protected void |
notify(InvocationContext ctx,
Object value,
boolean isPre) |
Object |
perform(InvocationContext ctx)
Performs the primary function of the command.
|
void |
setParameters(int commandId,
Object[] parameters)
Used by the
CommandsFactory to create a command from raw data read off a stream. |
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.
|
canBlock, getAffectedKeys
getKey, setKey, shouldInvoke
getMetadata, getTopologyId, setMetadata, setTopologyId
getFlags, hasFlag, setFlags, setFlags
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
shouldInvoke
getTopologyId, setTopologyId
getMetadata, setMetadata
getFlags, hasFlag, setFlags, setFlags
getKey
public static final byte COMMAND_ID
protected CacheNotifier notifier
protected ValueMatcher valueMatcher
protected Object value
public RemoveCommand(Object key, Object value, CacheNotifier notifier, Set<Flag> flags, Equivalence valueEquivalence)
public RemoveCommand()
public void init(CacheNotifier notifier, Configuration configuration)
public Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
VisitableCommand
ctx
- invocation contextvisitor
- visitor to acceptThrowable
- in the event of problemspublic Object perform(InvocationContext ctx) throws Throwable
ReplicableCommand
ctx
- invocation contextThrowable
- in the event of problems.protected void notify(InvocationContext ctx, Object value, boolean isPre)
public byte getCommandId()
ReplicableCommand
public boolean equals(Object o)
equals
in class AbstractDataCommand
public int hashCode()
hashCode
in class AbstractDataCommand
public String toString()
toString
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 boolean isNonExistent()
public void setParameters(int commandId, Object[] parameters)
ReplicableCommand
CommandsFactory
to create a command from raw data read off a stream.setParameters
in interface ReplicableCommand
setParameters
in class AbstractDataCommand
commandId
- command id to set. This is usually unused but *could* be used in the event of a command having
multiple IDs, such as PutKeyValueCommand
.parameters
- object array of argspublic Object[] getParameters()
ReplicableCommand
getParameters
in interface ReplicableCommand
getParameters
in class AbstractDataCommand
public ValueMatcher getValueMatcher()
public void setValueMatcher(ValueMatcher valueMatcher)
valueMatcher
- The new value matching policy.public void updateStatusFromRemoteResponse(Object remoteResponse)
WriteCommand
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 Object getValue()
public void setValue(Object value)
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
Copyright © 2014 JBoss, a division of Red Hat. All Rights Reserved.