org.infinispan.commands.remote
Class ClusteredGetCommand

java.lang.Object
  extended by org.infinispan.commands.remote.ClusteredGetCommand
All Implemented Interfaces:
FlagAffectedCommand, CacheRpcCommand, ReplicableCommand

public class ClusteredGetCommand
extends Object
implements CacheRpcCommand, FlagAffectedCommand

Issues a remote get call. 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
           
protected  ComponentRegistry componentRegistry
           
protected  Configuration configuration
           
 
Constructor Summary
ClusteredGetCommand()
           
ClusteredGetCommand(Object key, String cacheName)
           
ClusteredGetCommand(Object key, String cacheName, Set<Flag> flags)
           
 
Method Summary
 boolean equals(Object o)
           
 String getCacheName()
           
 byte getCommandId()
          Used by marshallers to convert this command into an id for streaming.
 ComponentRegistry getComponentRegistry()
          Retrieves the component registry associated with this command
 Configuration getConfiguration()
          Retrieves the configuration associated with this command
 Set<Flag> getFlags()
           
 Object getKey()
           
 Object[] getParameters()
          Used by marshallers to stream this command across a network
 int hashCode()
           
 void initialize(InvocationContextContainer icc, CommandsFactory commandsFactory, InterceptorChain interceptorChain, DistributionManager distributionManager)
           
 void injectComponents(Configuration configuration, ComponentRegistry componentRegistry)
          Sets up some more context for the invocation of this command, so that these components wouldn't need to be looked up again later.
 InternalCacheValue perform(InvocationContext context)
          Invokes a logical "get(key)" on a remote cache and returns results.
 void setFlags(Set<Flag> flags)
          Use it to store the flags from the InvocationContext into the Command before remoting the Command.
 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 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

configuration

protected Configuration configuration

componentRegistry

protected ComponentRegistry componentRegistry
Constructor Detail

ClusteredGetCommand

public ClusteredGetCommand()

ClusteredGetCommand

public ClusteredGetCommand(Object key,
                           String cacheName,
                           Set<Flag> flags)

ClusteredGetCommand

public ClusteredGetCommand(Object key,
                           String cacheName)
Method Detail

injectComponents

public void injectComponents(Configuration configuration,
                             ComponentRegistry componentRegistry)
Description copied from interface: CacheRpcCommand
Sets up some more context for the invocation of this command, so that these components wouldn't need to be looked up again later.

Specified by:
injectComponents in interface CacheRpcCommand
Parameters:
configuration - configuration of the named cache associated with this command
componentRegistry - component registry of the named cache associated with this command

getConfiguration

public Configuration getConfiguration()
Description copied from interface: CacheRpcCommand
Retrieves the configuration associated with this command

Specified by:
getConfiguration in interface CacheRpcCommand
Returns:
a Configuration instance

getComponentRegistry

public ComponentRegistry getComponentRegistry()
Description copied from interface: CacheRpcCommand
Retrieves the component registry associated with this command

Specified by:
getComponentRegistry in interface CacheRpcCommand
Returns:
a component registry

initialize

public void initialize(InvocationContextContainer icc,
                       CommandsFactory commandsFactory,
                       InterceptorChain interceptorChain,
                       DistributionManager distributionManager)

perform

public InternalCacheValue perform(InvocationContext context)
                           throws Throwable
Invokes a logical "get(key)" on a remote cache and returns results.

Specified by:
perform in interface ReplicableCommand
Parameters:
context - invocation context, ignored.
Returns:
returns an CacheEntry or null, if no entry is found.
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.

Specified by:
getCommandId in interface ReplicableCommand
Returns:
the method id of this command. This is compatible with pre-2.2.0 MethodCall ids.

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
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
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 Object

getCacheName

public String getCacheName()
Specified by:
getCacheName in interface CacheRpcCommand
Returns:
the name of the cache that produced this command. This will also be the name of the cache this command is intended for.

getKey

public Object getKey()

getFlags

public Set<Flag> getFlags()
Specified by:
getFlags in interface FlagAffectedCommand
Returns:
the Flags which where set in the context - only valid to invoke after FlagAffectedCommand.setFlags(Set)

setFlags

public void setFlags(Set<Flag> flags)
Description copied from interface: FlagAffectedCommand
Use it to store the flags from the InvocationContext into the Command before remoting the Command.

Specified by:
setFlags in interface FlagAffectedCommand


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