1 package org.sourceforge.jemm.collections.internal.map;
2
3 import org.sourceforge.jemm.client.shared.ValueEncoder;
4 import org.sourceforge.jemm.collections.internal.StoredValue;
5 import org.sourceforge.jemm.lifecycle.TypeRequest;
6
7 public class MapPutRequest extends TypeRequest<MapPutRequest> {
8 private static final long serialVersionUID = 1L;
9
10 private final StoredValue key;
11 private final StoredValue value;
12
13 private final StoredValue[] keyDistinctFrom;
14
15 public MapPutRequest(StoredValue key,StoredValue value,StoredValue[] keyDistinctFrom) {
16 this.key = key;
17 this.value = value;
18 this.keyDistinctFrom = keyDistinctFrom;
19 }
20
21 public MapPutRequest(StoredValue key,StoredValue value) {
22 this(key,value,null);
23 }
24
25 public StoredValue getKey() {
26 return key;
27 }
28
29 public StoredValue getValue() {
30 return value;
31 }
32
33 public StoredValue[] getKeyDistinctFrom() {
34 return keyDistinctFrom;
35 }
36
37 @Override
38 public MapPutRequest encode(ValueEncoder encoder) {
39 return new MapPutRequest(encoder.encode(key),
40 encoder.encode(value),encoder.encodeArray(getKeyDistinctFrom()));
41 }
42 }