org.infinispan.commands.remote
Class MultipleRpcCommand

java.lang.Object
  extended by org.infinispan.commands.remote.BaseRpcCommand
      extended by org.infinispan.commands.remote.BaseRpcInvokingCommand
          extended by org.infinispan.commands.remote.MultipleRpcCommand
All Implemented Interfaces:
CacheRpcCommand, ReplicableCommand

public class MultipleRpcCommand
extends BaseRpcInvokingCommand

Command that implements cluster replication logic.

This is not a VisitableCommand and hence not passed up the CommandInterceptor chain.

Since:
4.0
Author:
Mircea.Markus@jboss.com

Field Summary
static byte COMMAND_ID
           
 
Fields inherited from class org.infinispan.commands.remote.BaseRpcInvokingCommand
icc, interceptorChain
 
Fields inherited from class org.infinispan.commands.remote.BaseRpcCommand
cacheName
 
Constructor Summary
MultipleRpcCommand(List<ReplicableCommand> modifications, String cacheName)
           
MultipleRpcCommand(String cacheName)
           
 
Method Summary
 boolean equals(Object o)
           
 byte getCommandId()
          Used by marshallers to convert this command into an id for streaming.
 ReplicableCommand[] getCommands()
           
 Object[] getParameters()
          Used by marshallers to stream this command across a network
 int hashCode()
           
 boolean isReturnValueExpected()
          If true, a return value will be provided when performed remotely.
 Object perform(InvocationContext ctx)
          Executes commands replicated to the current cache instance by other cache instances.
 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.remote.BaseRpcInvokingCommand
init, processVisitableCommand
 
Methods inherited from class org.infinispan.commands.remote.BaseRpcCommand
getCacheName, getOrigin, setOrigin
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

COMMAND_ID

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

MultipleRpcCommand

public MultipleRpcCommand(List<ReplicableCommand> modifications,
                          String cacheName)

MultipleRpcCommand

public MultipleRpcCommand(String cacheName)
Method Detail

perform

public Object perform(InvocationContext ctx)
               throws Throwable
Executes commands replicated to the current cache instance by other cache instances.

Parameters:
ctx - invocation context
Returns:
arbitrary return value generated by performing this command
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.

getCommands

public ReplicableCommand[] getCommands()

getParameters

public Object[] getParameters()
Description copied from interface: ReplicableCommand
Used by marshallers to stream this command across a network

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.

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

equals

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

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class BaseRpcCommand

isReturnValueExpected

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

Returns:
true or false

-->

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