org.infinispan.commands.write
Class PutMapCommand

java.lang.Object
  extended by org.infinispan.commands.write.PutMapCommand
All Implemented Interfaces:
FlagAffectedCommand, ReplicableCommand, VisitableCommand, WriteCommand

public class PutMapCommand
extends Object
implements WriteCommand

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

Field Summary
static byte COMMAND_ID
           
 
Constructor Summary
PutMapCommand()
           
PutMapCommand(Map map, CacheNotifier notifier, long lifespanMillis, long maxIdleTimeMillis, Set<Flag> flags)
           
 
Method Summary
 Object acceptVisitor(InvocationContext ctx, Visitor visitor)
          Accept a visitor, and return the result of accepting this visitor.
 boolean equals(Object o)
           
 Set<Object> getAffectedKeys()
           
 byte getCommandId()
          Used by marshallers to convert this command into an id for streaming.
 Set<Flag> getFlags()
           
 long getLifespanMillis()
           
 Map<Object,Object> getMap()
           
 long getMaxIdleTimeMillis()
           
 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.
 void init(CacheNotifier notifier)
           
 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 the primary function of the command.
 void setFlags(Set<Flag> flags)
          Use it to store the flags from the InvocationContext into the Command before remoting the Command.
 void setMap(Map<Object,Object> map)
           
 void setParameters(int commandId, Object[] parameters)
          Used by the CommandsFactory to create a command from raw data read off a stream.
 boolean shouldInvoke(InvocationContext ctx)
          Used by the InboundInvocationHandler to determine whether the command should be invoked or not.
 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
Constructor Detail

PutMapCommand

public PutMapCommand()

PutMapCommand

public PutMapCommand(Map map,
                     CacheNotifier notifier,
                     long lifespanMillis,
                     long maxIdleTimeMillis,
                     Set<Flag> flags)
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.

Specified by:
acceptVisitor in interface VisitableCommand
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.

Specified by:
perform in interface ReplicableCommand
Parameters:
ctx - invocation context
Returns:
arbitrary return value generated by performing this command
Throws:
Throwable - in the event of problems.

getMap

public Map<Object,Object> getMap()

setMap

public void setMap(Map<Object,Object> map)

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[] parameters)
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.
parameters - 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

shouldInvoke

public boolean shouldInvoke(InvocationContext ctx)
Description copied from interface: VisitableCommand
Used by the InboundInvocationHandler to determine whether the command should be invoked or not.

Specified by:
shouldInvoke in interface VisitableCommand
Returns:
true if the command should be invoked, false otherwise.

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.

Specified by:
isSuccessful in interface WriteCommand
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.

Specified by:
isConditional in interface WriteCommand
Returns:
true if the command is conditional, false otherwise

getAffectedKeys

public Set<Object> getAffectedKeys()
Specified by:
getAffectedKeys in interface WriteCommand
Returns:
a collection of keys affected by this write command. Some commands - such as ClearCommand - may return an empty collection for this method.

getLifespanMillis

public long getLifespanMillis()

getMaxIdleTimeMillis

public long getMaxIdleTimeMillis()

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

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
Returns:
true if the command should NOT be invoked.

-->

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