org.jboss.cache.commands
Interface ReplicableCommand

All Superinterfaces:
Cloneable
All Known Subinterfaces:
DataCommand, ReversibleCommand, VersionedDataCommand, VisitableCommand
All Known Implementing Classes:
AbstractDataCommand, AbstractTransactionCommand, AbstractVersionedDataCommand, AnnounceBuddyPoolNameCommand, AssignToBuddyGroupCommand, ClearDataCommand, ClusteredGetCommand, CommitCommand, CreateNodeCommand, DataGravitationCleanupCommand, EvictCommand, ExistsCommand, GetChildrenNamesCommand, GetDataMapCommand, GetKeysCommand, GetKeyValueCommand, GetNodeCommand, GravitateDataCommand, InvalidateCommand, MoveCommand, OptimisticInvalidateCommand, OptimisticPrepareCommand, PrepareCommand, PutDataMapCommand, PutForExternalReadCommand, PutKeyValueCommand, RemoveFromBuddyGroupCommand, RemoveKeyCommand, RemoveNodeCommand, ReplicateCommand, RollbackCommand

public interface ReplicableCommand
extends Cloneable

The core of the command-based cache framework. Commands correspond to specific areas of functionality in the cache, and can be replicated using the Marshaller framework.

Since:
2.2.0
Author:
Mircea.Markus@jboss.com, Manik Surtani

Method Summary
 int getCommandId()
          Used by marshallers to convert this command into an id for streaming.
 Object[] getParameters()
          Used by marshallers to stream this command across a network
 Object perform(InvocationContext ctx)
          Performs the primary function of the command.
 void setParameters(int commandId, Object[] parameters)
          Used by the CommandsFactory to create a command from raw data read off a stream.
 

Method Detail

perform

Object perform(InvocationContext ctx)
               throws Throwable
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.

getCommandId

int getCommandId()
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.

getParameters

Object[] getParameters()
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

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


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