org.infinispan.commands.write
Class ApplyDeltaCommand

java.lang.Object
  extended by org.infinispan.commands.AbstractFlagAffectedCommand
      extended by org.infinispan.commands.read.AbstractDataCommand
          extended by org.infinispan.commands.write.AbstractDataWriteCommand
              extended by org.infinispan.commands.write.ApplyDeltaCommand
All Implemented Interfaces:
DataCommand, FlagAffectedCommand, ReplicableCommand, VisitableCommand, DataWriteCommand, WriteCommand

public class ApplyDeltaCommand
extends AbstractDataWriteCommand

Since:
5.1
Author:
Vladimir Blagojevic

Field Summary
static int COMMAND_ID
           
 
Fields inherited from class org.infinispan.commands.read.AbstractDataCommand
key
 
Fields inherited from class org.infinispan.commands.AbstractFlagAffectedCommand
flags
 
Constructor Summary
ApplyDeltaCommand()
           
ApplyDeltaCommand(Object deltaAwareValueKey, Delta delta, Collection<Object> keys)
           
 
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.
 Object[] getCompositeKeys()
           
 Delta getDelta()
           
 Object getDeltaAwareKey()
           
 Object getKey()
           
 Object[] getKeys()
           
 Object[] getParameters()
          Used by marshallers to stream this command across a network
 int hashCode()
           
 boolean ignoreCommandOnStatus(ComponentStatus status)
          Similar to VisitableCommand.shouldInvoke(InvocationContext) but evaluated by InvocationContextInterceptor.
 boolean isConditional()
          Certain commands only work based on a certain condition or state of the cache.
 boolean isSuccessful()
          Some commands may want to provide information on whether the command was successful or not.
 Object perform(InvocationContext ctx)
          Performs an application of delta on a specified entry
 void setParameters(int commandId, Object[] args)
          Used by the CommandsFactory to create a command from raw data read off a stream.
 String toString()
           
 
Methods inherited from class org.infinispan.commands.write.AbstractDataWriteCommand
getAffectedKeys, isReturnValueExpected
 
Methods inherited from class org.infinispan.commands.read.AbstractDataCommand
setKey, shouldInvoke
 
Methods inherited from class org.infinispan.commands.AbstractFlagAffectedCommand
getFlags, hasFlag, setFlags
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.infinispan.commands.FlagAffectedCommand
getFlags, hasFlag, setFlags
 
Methods inherited from interface org.infinispan.commands.VisitableCommand
shouldInvoke
 

Field Detail

COMMAND_ID

public static final int COMMAND_ID
See Also:
Constant Field Values
Constructor Detail

ApplyDeltaCommand

public ApplyDeltaCommand()

ApplyDeltaCommand

public ApplyDeltaCommand(Object deltaAwareValueKey,
                         Delta delta,
                         Collection<Object> keys)
Method Detail

getDeltaAwareKey

public Object getDeltaAwareKey()

getDelta

public Delta getDelta()

getKey

public Object getKey()
Specified by:
getKey in interface DataCommand
Overrides:
getKey in class AbstractDataCommand

perform

public Object perform(InvocationContext ctx)
               throws Throwable
Performs an application of delta on a specified entry

Parameters:
ctx - invocation context
Returns:
null
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.

Returns:
the method id of this command. This is compatible with pre-2.2.0 MethodCall ids.

toString

public String toString()
Overrides:
toString in class AbstractDataCommand

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.

setParameters

public void setParameters(int commandId,
                          Object[] args)
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.
args - object array of args

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

getKeys

public Object[] getKeys()

getCompositeKeys

public Object[] getCompositeKeys()

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.

equals

public boolean equals(Object o)
Overrides:
equals in class AbstractDataCommand

hashCode

public int hashCode()
Overrides:
hashCode 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

-->

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