public class PutMapCommand extends AbstractFlagAffectedCommand implements WriteCommand, MetadataAwareCommand
| Modifier and Type | Field and Description |
|---|---|
static byte |
COMMAND_ID |
flags| Constructor and Description |
|---|
PutMapCommand() |
PutMapCommand(Map<?,?> map,
CacheNotifier notifier,
Metadata metadata,
Set<Flag> flags) |
| Modifier and Type | Method and Description |
|---|---|
Object |
acceptVisitor(InvocationContext ctx,
Visitor visitor)
Accept a visitor, and return the result of accepting this visitor.
|
boolean |
canBlock()
If true, the command is processed asynchronously in a thread provided by an Infinispan thread pool.
|
boolean |
equals(Object o) |
Set<Object> |
getAffectedKeys() |
byte |
getCommandId()
Used by marshallers to convert this command into an id for streaming.
|
Map<Object,Object> |
getMap() |
Metadata |
getMetadata()
Get metadata of this command.
|
Object[] |
getParameters()
Used by marshallers to stream this command across a network
|
ValueMatcher |
getValueMatcher() |
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 |
isForwarded()
For non transactional caches that support concurrent writes (default), the commands are forwarded between nodes,
e.g.:
- commands is executed on node A, but some of the keys should be locked on node B
- the command is send to the main owner (B)
- B tries to acquire lock on the keys it owns, then forwards the commands to the other owners as well
- at this last stage, the command has the "isForwarded" flag set to true.
|
boolean |
isReturnValueExpected()
If true, a return value will be provided when performed remotely.
|
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 |
setForwarded(boolean forwarded) |
void |
setMap(Map<Object,Object> map) |
void |
setMetadata(Metadata metadata)
Sets metadata for this command.
|
void |
setParameters(int commandId,
Object[] parameters)
Used by the
CommandsFactory to create a command from raw data read off a stream. |
void |
setValueMatcher(ValueMatcher valueMatcher) |
boolean |
shouldInvoke(InvocationContext ctx)
Used by the InboundInvocationHandler to determine whether the command should be invoked or not.
|
String |
toString() |
void |
updateStatusFromRemoteResponse(Object remoteResponse)
Used for conditional commands, to update the status of the command on the originator
based on the result of its execution on the primary owner.
|
getTopologyId, setTopologyIdgetFlags, hasFlag, setFlags, setFlagsclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetTopologyId, setTopologyIdgetFlags, hasFlag, setFlags, setFlagspublic static final byte COMMAND_ID
public PutMapCommand()
public PutMapCommand(Map<?,?> map, CacheNotifier notifier, Metadata metadata, Set<Flag> flags)
public void init(CacheNotifier notifier)
public Object acceptVisitor(InvocationContext ctx, Visitor visitor) throws Throwable
VisitableCommandacceptVisitor in interface VisitableCommandctx - invocation contextvisitor - visitor to acceptThrowable - in the event of problemspublic Object perform(InvocationContext ctx) throws Throwable
ReplicableCommandperform in interface ReplicableCommandctx - invocation contextThrowable - in the event of problems.public byte getCommandId()
ReplicableCommandgetCommandId in interface ReplicableCommandpublic Object[] getParameters()
ReplicableCommandgetParameters in interface ReplicableCommandpublic void setParameters(int commandId,
Object[] parameters)
ReplicableCommandCommandsFactory to create a command from raw data read off a stream.setParameters in interface ReplicableCommandcommandId - 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 argspublic boolean shouldInvoke(InvocationContext ctx)
VisitableCommandshouldInvoke in interface VisitableCommandpublic boolean isSuccessful()
WriteCommandisSuccessful in interface WriteCommandpublic boolean isConditional()
WriteCommandConcurrentMap.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.isConditional in interface WriteCommandpublic ValueMatcher getValueMatcher()
getValueMatcher in interface WriteCommandpublic void setValueMatcher(ValueMatcher valueMatcher)
setValueMatcher in interface WriteCommandvalueMatcher - The new value matching policy.public Set<Object> getAffectedKeys()
getAffectedKeys in interface WriteCommandpublic void updateStatusFromRemoteResponse(Object remoteResponse)
WriteCommandupdateStatusFromRemoteResponse in interface WriteCommandpublic boolean isReturnValueExpected()
ReplicableCommandResponseGenerator
may choose to simply return null to save on marshalling costs.isReturnValueExpected in interface ReplicableCommandpublic boolean canBlock()
ReplicableCommandcanBlock in interface ReplicableCommandtrue if the command can block/wait, false otherwisepublic boolean ignoreCommandOnStatus(ComponentStatus status)
VisitableCommandVisitableCommand.shouldInvoke(InvocationContext) but evaluated by InvocationContextInterceptor.
Commands can opt to be discarded in case the cache status is not suited (as InvalidateCommand)ignoreCommandOnStatus in interface VisitableCommandpublic Metadata getMetadata()
MetadataAwareCommandgetMetadata in interface MetadataAwareCommandgetMetadata in class AbstractFlagAffectedCommandpublic void setMetadata(Metadata metadata)
MetadataAwareCommandsetMetadata in interface MetadataAwareCommandsetMetadata in class AbstractFlagAffectedCommandpublic boolean isForwarded()
public void setForwarded(boolean forwarded)
isForwarded()Copyright © 2014 JBoss, a division of Red Hat. All rights reserved.