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
public class RemoveCommand extends AbstractDataWriteCommand implements MetadataAwareCommand
- Since:
- 4.0
- Author:
- Mircea.Markus@jboss.com, Galder Zamarreno
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.infinispan.commands.VisitableCommand
VisitableCommand.LoadType
-
-
Field Summary
Fields Modifier and Type Field Description static byteCOMMAND_IDprotected Metadatametadataprotected booleansuccessfulprotected ObjectvalueWhen not null, value indicates that the entry should only be removed if the key is mapped to this value.protected ValueMatchervalueMatcher-
Fields inherited from class org.infinispan.commands.write.AbstractDataWriteCommand
commandInvocationId
-
Fields inherited from class org.infinispan.commands.read.AbstractDataCommand
key, segment
-
-
Constructor Summary
Constructors Constructor Description RemoveCommand()RemoveCommand(Object key, Object value, int segment, long flagsBitSet, CommandInvocationId commandInvocationId)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ObjectacceptVisitor(InvocationContext ctx, Visitor visitor)Accept a visitor, and return the result of accepting this visitor.booleanequals(Object o)voidfail()Make subsequent invocations ofWriteCommand.isSuccessful()returnfalse.bytegetCommandId()Used by marshallers to convert this command into an id for streaming.PrivateMetadatagetInternalMetadata()MetadatagetMetadata()Get metadata of this command.ObjectgetValue()ValueMatchergetValueMatcher()inthashCode()booleanisConditional()Certain commands only work based on a certain condition or state of the cache.booleanisNonExistent()booleanisReturnValueExpected()If true, a return value will be provided when performed remotely.booleanisSuccessful()Some commands may want to provide information on whether the command was successful or not.VisitableCommand.LoadTypeloadType()voidnonExistant()voidreadFrom(ObjectInput input)Reads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput).voidsetInternalMetadata(PrivateMetadata internalMetadata)voidsetMetadata(Metadata metadata)Sets metadata for this command.voidsetValue(Object value)voidsetValueMatcher(ValueMatcher valueMatcher)StringtoString()voidwriteTo(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, 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 Detail
-
COMMAND_ID
public static final byte COMMAND_ID
- See Also:
- Constant Field Values
-
successful
protected boolean successful
-
metadata
protected Metadata metadata
-
valueMatcher
protected ValueMatcher valueMatcher
-
value
protected Object 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 Detail
-
RemoveCommand
public RemoveCommand(Object key, Object value, int segment, long flagsBitSet, CommandInvocationId commandInvocationId)
-
RemoveCommand
public RemoveCommand()
-
-
Method Detail
-
acceptVisitor
public Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
Description copied from interface:VisitableCommandAccept a visitor, and return the result of accepting this visitor.- Specified by:
acceptVisitorin 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:ReplicableCommandUsed by marshallers to convert this command into an id for streaming.- Specified by:
getCommandIdin interfaceReplicableCommand- Returns:
- the method id of this command. This is compatible with pre-2.2.0 MethodCall ids.
-
setMetadata
public void setMetadata(Metadata metadata)
Description copied from interface:MetadataAwareCommandSets metadata for this command.- Specified by:
setMetadatain interfaceMetadataAwareCommand
-
getMetadata
public Metadata getMetadata()
Description copied from interface:MetadataAwareCommandGet metadata of this command.- Specified by:
getMetadatain interfaceMetadataAwareCommand- Returns:
- an instance of Metadata
-
equals
public boolean equals(Object o)
- Overrides:
equalsin classAbstractDataCommand
-
hashCode
public int hashCode()
- Overrides:
hashCodein classAbstractDataCommand
-
toString
public String toString()
- Overrides:
toStringin classAbstractDataCommand
-
isSuccessful
public boolean isSuccessful()
Description copied from interface:WriteCommandSome 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:
isSuccessfulin interfaceReplicableCommand- Specified by:
isSuccessfulin interfaceWriteCommand- Returns:
- true if the command completed successfully, false otherwise.
-
isConditional
public boolean isConditional()
Description copied from interface:WriteCommandCertain 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:
isConditionalin interfaceWriteCommand- Returns:
- true if the command is conditional, false otherwise
-
nonExistant
public void nonExistant()
-
isNonExistent
public boolean isNonExistent()
-
writeTo
public void writeTo(ObjectOutput output) throws IOException
Description copied from interface:ReplicableCommandWrites this instance to theObjectOutput.- Specified by:
writeToin interfaceReplicableCommand- Parameters:
output- the stream.- Throws:
IOException- if an error occurred during the I/O.
-
readFrom
public void readFrom(ObjectInput input) throws IOException, ClassNotFoundException
Description copied from interface:ReplicableCommandReads this instance from the stream written byReplicableCommand.writeTo(ObjectOutput).- Specified by:
readFromin 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
public ValueMatcher getValueMatcher()
- Specified by:
getValueMatcherin interfaceWriteCommand- Returns:
- The current value matching policy.
-
setValueMatcher
public void setValueMatcher(ValueMatcher valueMatcher)
- Specified by:
setValueMatcherin interfaceWriteCommand- Parameters:
valueMatcher- The new value matching policy.
-
fail
public void fail()
Description copied from interface:WriteCommandMake subsequent invocations ofWriteCommand.isSuccessful()returnfalse.- Specified by:
failin interfaceWriteCommand
-
loadType
public VisitableCommand.LoadType loadType()
- Specified by:
loadTypein interfaceVisitableCommand- Returns:
- Nodes on which the command needs to read the previous values of the keys it acts on.
-
getValue
public Object getValue()
-
setValue
public void setValue(Object value)
-
isReturnValueExpected
public final boolean isReturnValueExpected()
Description copied from interface:ReplicableCommandIf true, a return value will be provided when performed remotely. Otherwise, a remoteResponseGeneratormay choose to simply return null to save on marshalling costs.- Specified by:
isReturnValueExpectedin interfaceReplicableCommand- Overrides:
isReturnValueExpectedin classAbstractDataWriteCommand- Returns:
- true or false
-
getInternalMetadata
public PrivateMetadata getInternalMetadata()
- Specified by:
getInternalMetadatain interfaceDataWriteCommand
-
setInternalMetadata
public void setInternalMetadata(PrivateMetadata internalMetadata)
- Specified by:
setInternalMetadatain interfaceDataWriteCommand
-
-