-
Notifications
You must be signed in to change notification settings - Fork 615
/
AbstractWriteKeyCommand.java
94 lines (79 loc) · 2.8 KB
/
AbstractWriteKeyCommand.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package org.infinispan.commands.functional;
import static org.infinispan.commons.util.Util.toStr;
import org.infinispan.commands.CommandInvocationId;
import org.infinispan.commands.InitializableCommand;
import org.infinispan.commands.functional.functions.InjectableComponent;
import org.infinispan.commands.write.AbstractDataWriteCommand;
import org.infinispan.commands.write.ValueMatcher;
import org.infinispan.encoding.DataConversion;
import org.infinispan.factories.ComponentRegistry;
import org.infinispan.functional.impl.Params;
public abstract class AbstractWriteKeyCommand<K, V> extends AbstractDataWriteCommand implements FunctionalCommand<K, V>, InitializableCommand {
Params params;
ValueMatcher valueMatcher;
boolean successful = true;
DataConversion keyDataConversion;
DataConversion valueDataConversion;
InjectableComponent f;
public AbstractWriteKeyCommand(Object key, ValueMatcher valueMatcher, int segment,
CommandInvocationId id, Params params,
DataConversion keyDataConversion,
DataConversion valueDataConversion,
Object f) {
super(key, segment, params.toFlagsBitSet(), id);
this.valueMatcher = valueMatcher;
this.params = params;
this.keyDataConversion = keyDataConversion;
this.valueDataConversion = valueDataConversion;
this.f = f instanceof InjectableComponent ? (InjectableComponent) f : null;
}
public AbstractWriteKeyCommand() {
// No-op
}
@Override
public void init(ComponentRegistry componentRegistry, boolean isRemote) {
componentRegistry.wireDependencies(keyDataConversion);
componentRegistry.wireDependencies(valueDataConversion);
if (f != null)
f.inject(componentRegistry);
}
@Override
public ValueMatcher getValueMatcher() {
return valueMatcher;
}
@Override
public void setValueMatcher(ValueMatcher valueMatcher) {
this.valueMatcher = valueMatcher;
}
@Override
public boolean isSuccessful() {
return successful;
}
@Override
public Params getParams() {
return params;
}
@Override
public void fail() {
successful = false;
}
@Override
public String toString() {
return getClass().getSimpleName() +
" {key=" + toStr(key) +
", flags=" + printFlags() +
", commandInvocationId=" + commandInvocationId +
", params=" + params +
", valueMatcher=" + valueMatcher +
", successful=" + successful +
"}";
}
@Override
public DataConversion getKeyDataConversion() {
return keyDataConversion;
}
@Override
public DataConversion getValueDataConversion() {
return valueDataConversion;
}
}