Package org.infinispan.commands.write
Class RemoveCommand
java.lang.Object
org.infinispan.commands.read.AbstractDataCommand
org.infinispan.commands.write.AbstractDataWriteCommand
org.infinispan.commands.write.RemoveCommand
- All Implemented Interfaces:
DataCommand
,FlagAffectedCommand
,MetadataAwareCommand
,ReplicableCommand
,SegmentSpecificCommand
,TopologyAffectedCommand
,VisitableCommand
,DataWriteCommand
,WriteCommand
,RemoteLockCommand
- Direct Known Subclasses:
EvictCommand
,RemoveExpiredCommand
- Since:
- 4.0
- Author:
- [email protected], Galder Zamarreno
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.infinispan.commands.VisitableCommand
VisitableCommand.LoadType
-
Field Summary
Modifier and TypeFieldDescriptionstatic final byte
protected Metadata
protected boolean
protected Object
When not null, value indicates that the entry should only be removed if the key is mapped to this value.protected ValueMatcher
Fields inherited from class org.infinispan.commands.write.AbstractDataWriteCommand
commandInvocationId
Fields inherited from class org.infinispan.commands.read.AbstractDataCommand
key, segment
-
Constructor Summary
ConstructorDescriptionRemoveCommand
(Object key, Object value, boolean returnEntry, int segment, long flagsBitSet, CommandInvocationId commandInvocationId) -
Method Summary
Modifier and TypeMethodDescriptionacceptVisitor
(InvocationContext ctx, Visitor visitor) Accept a visitor, and return the result of accepting this visitor.boolean
void
fail()
Make subsequent invocations ofWriteCommand.isSuccessful()
returnfalse
.byte
Used by marshallers to convert this command into an id for streaming.Get metadata of this command.getValue()
int
hashCode()
boolean
Certain commands only work based on a certain condition or state of the cache.boolean
boolean
final boolean
If true, a return value will be provided when performed remotely.boolean
Some commands may want to provide information on whether the command was successful or not.loadType()
void
void
readFrom
(ObjectInput input) Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput)
.void
setInternalMetadata
(PrivateMetadata internalMetadata) void
setMetadata
(Metadata metadata) Sets metadata for this command.void
void
setValueMatcher
(ValueMatcher valueMatcher) toString()
void
writeTo
(ObjectOutput output) Writes this instance to theObjectOutput
.Methods inherited from class org.infinispan.commands.write.AbstractDataWriteCommand
getAffectedKeys, getCommandInvocationId, getKeyLockOwner, getKeysToLock, hasSkipLocking, hasZeroLockAcquisition
Methods inherited from class org.infinispan.commands.read.AbstractDataCommand
getFlagsBitSet, getKey, getSegment, getTopologyId, printFlags, setFlagsBitSet, setKey, setTopologyId
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.infinispan.commands.DataCommand
getKey
Methods inherited from interface org.infinispan.commands.write.DataWriteCommand
getInternalMetadata, setInternalMetadata
Methods inherited from interface org.infinispan.commands.FlagAffectedCommand
addFlag, addFlags, addFlags, getFlags, getFlagsBitSet, hasAllFlags, hasAnyFlag, hasFlag, setFlags, setFlagsBitSet
Methods inherited from interface org.infinispan.commands.ReplicableCommand
canBlock, invoke, invokeAsync, logThrowable, setOrigin
Methods inherited from interface org.infinispan.commands.SegmentSpecificCommand
getSegment
Methods inherited from interface org.infinispan.commands.TopologyAffectedCommand
getTopologyId, setTopologyId
Methods inherited from interface org.infinispan.commands.VisitableCommand
init
Methods inherited from interface org.infinispan.commands.write.WriteCommand
isWriteOnly, updateStatusFromRemoteResponse
-
Field Details
-
COMMAND_ID
public static final byte COMMAND_ID- See Also:
-
successful
protected boolean successful -
metadata
-
valueMatcher
-
value
When not null, value indicates that the entry should only be removed if the key is mapped to this value. When null, the entry should be removed regardless of what value it is mapped to.
-
-
Constructor Details
-
RemoveCommand
public RemoveCommand(Object key, Object value, boolean returnEntry, int segment, long flagsBitSet, CommandInvocationId commandInvocationId) -
RemoveCommand
public RemoveCommand()
-
-
Method Details
-
acceptVisitor
Description copied from interface:VisitableCommand
Accept a visitor, and return the result of accepting this visitor.- Specified by:
acceptVisitor
in interfaceVisitableCommand
- Parameters:
ctx
- invocation contextvisitor
- visitor to accept- Returns:
- arbitrary return value
- Throws:
Throwable
- in the event of problems
-
getCommandId
public byte getCommandId()Description copied from interface:ReplicableCommand
Used by marshallers to convert this command into an id for streaming.- Specified by:
getCommandId
in interfaceReplicableCommand
- Returns:
- the method id of this command. This is compatible with pre-2.2.0 MethodCall ids.
-
setMetadata
Description copied from interface:MetadataAwareCommand
Sets metadata for this command.- Specified by:
setMetadata
in interfaceMetadataAwareCommand
-
getMetadata
Description copied from interface:MetadataAwareCommand
Get metadata of this command.- Specified by:
getMetadata
in interfaceMetadataAwareCommand
- Returns:
- an instance of Metadata
-
equals
- Overrides:
equals
in classAbstractDataCommand
-
hashCode
public int hashCode()- Overrides:
hashCode
in classAbstractDataCommand
-
toString
- Overrides:
toString
in classAbstractDataCommand
-
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.- Specified by:
isSuccessful
in interfaceReplicableCommand
- Specified by:
isSuccessful
in interfaceWriteCommand
- 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.- Specified by:
isConditional
in interfaceWriteCommand
- Returns:
- true if the command is conditional, false otherwise
-
nonExistant
public void nonExistant() -
isNonExistent
public boolean isNonExistent() -
writeTo
Description copied from interface:ReplicableCommand
Writes this instance to theObjectOutput
.- Specified by:
writeTo
in interfaceReplicableCommand
- Parameters:
output
- the stream.- Throws:
IOException
- if an error occurred during the I/O.
-
readFrom
Description copied from interface:ReplicableCommand
Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput)
.- Specified by:
readFrom
in interfaceReplicableCommand
- Parameters:
input
- the stream to read.- Throws:
IOException
- if an error occurred during the I/O.ClassNotFoundException
- if it tries to load an undefined class.
-
getValueMatcher
- Specified by:
getValueMatcher
in interfaceWriteCommand
- Returns:
- The current value matching policy.
-
setValueMatcher
- Specified by:
setValueMatcher
in interfaceWriteCommand
- Parameters:
valueMatcher
- The new value matching policy.
-
fail
public void fail()Description copied from interface:WriteCommand
Make subsequent invocations ofWriteCommand.isSuccessful()
returnfalse
.- Specified by:
fail
in interfaceWriteCommand
-
loadType
- Specified by:
loadType
in interfaceVisitableCommand
- Returns:
- Nodes on which the command needs to read the previous values of the keys it acts on.
-
getValue
-
setValue
-
isReturnEntryNecessary
public boolean isReturnEntryNecessary() -
isReturnValueExpected
public final boolean isReturnValueExpected()Description copied from interface:ReplicableCommand
If true, a return value will be provided when performed remotely. Otherwise, a remoteResponseGenerator
may choose to simply return null to save on marshalling costs.- Specified by:
isReturnValueExpected
in interfaceReplicableCommand
- Overrides:
isReturnValueExpected
in classAbstractDataWriteCommand
- Returns:
- true or false
-
getInternalMetadata
- Specified by:
getInternalMetadata
in interfaceDataWriteCommand
-
setInternalMetadata
- Specified by:
setInternalMetadata
in interfaceDataWriteCommand
-