org.infinispan.commands.write
Class RemoveCommand
java.lang.Object
org.infinispan.commands.AbstractFlagAffectedCommand
org.infinispan.commands.read.AbstractDataCommand
org.infinispan.commands.write.AbstractDataWriteCommand
org.infinispan.commands.write.RemoveCommand
- All Implemented Interfaces:
- DataCommand, FlagAffectedCommand, MetadataAwareCommand, ReplicableCommand, TopologyAffectedCommand, VisitableCommand, DataWriteCommand, WriteCommand
- Direct Known Subclasses:
- EvictCommand, InvalidateCommand
public class RemoveCommand
- extends AbstractDataWriteCommand
- Since:
- 4.0
- Author:
- Mircea.Markus@jboss.com, Galder Zamarreno
COMMAND_ID
public static final byte COMMAND_ID
- See Also:
- Constant Field Values
notifier
protected CacheNotifier notifier
value
protected transient Object value
- When not null, value indicates that the entry should only be removed if the key is mapped to this value. By the
time the RemoveCommand needs to be marshalled, the condition must have been true locally already, so there's no
need to marshall the value. *
RemoveCommand
public RemoveCommand(Object key,
Object value,
CacheNotifier notifier,
Set<Flag> flags)
RemoveCommand
public RemoveCommand()
init
public void init(CacheNotifier notifier)
acceptVisitor
public Object acceptVisitor(InvocationContext ctx,
Visitor visitor)
throws Throwable
- Description copied from interface:
VisitableCommand
- Accept 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
perform
public Object perform(InvocationContext ctx)
throws Throwable
- Description copied from interface:
ReplicableCommand
- Performs the primary function of the command. Please see specific implementation classes for details on what is
performed as well as return types. Important: this method will be invoked at the end of interceptors chain.
It should never be called directly from a custom interceptor.
- Parameters:
ctx
- invocation context
- Returns:
- arbitrary return value generated by performing this command
- Throws:
Throwable
- in the event of problems.
notify
protected void notify(InvocationContext ctx,
Object value,
boolean isPre)
getCommandId
public byte getCommandId()
- Description copied from interface:
ReplicableCommand
- Used 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.
equals
public boolean equals(Object o)
- Overrides:
equals
in class AbstractDataCommand
hashCode
public int hashCode()
- Overrides:
hashCode
in class AbstractDataCommand
toString
public String toString()
- Overrides:
toString
in class AbstractDataCommand
isSuccessful
public boolean isSuccessful()
- Description copied from interface:
WriteCommand
- Some commands may want to provide information on whether the command was successful or not. This is different
from a failure, which usually would result in an exception being thrown. An example is a putIfAbsent() not doing
anything because the key in question was present. This would result in a isSuccessful() call returning false.
- Returns:
- true if the command completed successfully, false otherwise.
isConditional
public boolean isConditional()
- Description copied from interface:
WriteCommand
- Certain commands only work based on a certain condition or state of the cache. For example,
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.
- Returns:
- true if the command is conditional, false otherwise
isNonExistent
public boolean isNonExistent()
setParameters
public void setParameters(int commandId,
Object[] parameters)
- Description copied from interface:
ReplicableCommand
- Used by the
CommandsFactory
to create a command from raw data read off a stream.
- Specified by:
setParameters
in interface ReplicableCommand
- Specified by:
setParameters
in class AbstractDataCommand
- Parameters:
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 args
getParameters
public Object[] getParameters()
- Description copied from interface:
ReplicableCommand
- Used by marshallers to stream this command across a network
- Specified by:
getParameters
in interface ReplicableCommand
- Specified by:
getParameters
in class AbstractDataCommand
- Returns:
- an object array of arguments, compatible with pre-2.2.0 MethodCall args.
setIgnorePreviousValue
public void setIgnorePreviousValue(boolean ignorePreviousValue)
ignoreCommandOnStatus
public boolean ignoreCommandOnStatus(ComponentStatus status)
- Description copied from interface:
VisitableCommand
- Similar to
VisitableCommand.shouldInvoke(InvocationContext)
but evaluated by InvocationContextInterceptor
.
Commands can opt to be discarded in case the cache status is not suited (as InvalidateCommand
)
- Specified by:
ignoreCommandOnStatus
in interface VisitableCommand
- Overrides:
ignoreCommandOnStatus
in class AbstractDataCommand
- Returns:
- true if the command should NOT be invoked.
getValue
public Object getValue()
setValue
public void setValue(Object value)
isReturnValueExpected
public final boolean isReturnValueExpected()
- Description copied from interface:
ReplicableCommand
- If true, a return value will be provided when performed remotely. Otherwise, a remote
ResponseGenerator
may choose to simply return null to save on marshalling costs.
- Specified by:
isReturnValueExpected
in interface ReplicableCommand
- Overrides:
isReturnValueExpected
in class AbstractDataWriteCommand
- Returns:
- true or false
Copyright © 2013 JBoss, a division of Red Hat. All Rights Reserved.