org.infinispan.commands.write
Class RemoveCommand

java.lang.Object
  extended by org.infinispan.commands.read.AbstractDataCommand
      extended by org.infinispan.commands.write.AbstractDataWriteCommand
          extended by org.infinispan.commands.write.RemoveCommand
All Implemented Interfaces:
DataCommand, ReplicableCommand, VisitableCommand, DataWriteCommand, WriteCommand
Direct Known Subclasses:
EvictCommand, InvalidateCommand

public class RemoveCommand
extends AbstractDataWriteCommand

Since:
4.0
Author:
Mircea.Markus@jboss.com, Galder Zamarreno

Field Summary
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.
 
Fields inherited from class org.infinispan.commands.read.AbstractDataCommand
key
 
Constructor Summary
RemoveCommand()
           
RemoveCommand(Object key, Object value, CacheNotifier notifier)
           
 
Method Summary
 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.
 int hashCode()
           
 void init(CacheNotifier notifier)
           
 boolean isConditional()
          Certain commands only work based on a certain condition or state of the cache.
 boolean isNonExistent()
           
 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.
 String toString()
           
 
Methods inherited from class org.infinispan.commands.write.AbstractDataWriteCommand
getAffectedKeys
 
Methods inherited from class org.infinispan.commands.read.AbstractDataCommand
getKey, getParameters, setKey, setParameters
 
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.ReplicableCommand
getParameters, setParameters
 

Field Detail

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. *

Constructor Detail

RemoveCommand

public RemoveCommand(Object key,
                     Object value,
                     CacheNotifier notifier)

RemoveCommand

public RemoveCommand()
Method Detail

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 context
visitor - 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()

Google Analytics

Copyright © 2010 JBoss, a division of Red Hat. All Rights Reserved.