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.TypeResponse;
6 import org.sourceforge.jemm.lifecycle.ValueVisitor;
7
8 public class MapPutResponse extends TypeResponse<MapPutResponse> {
9 private static final long serialVersionUID = 1L;
10
11 private final boolean success;
12 private final Object previousValue;
13 private final StoredValue[] possibleMatches;
14
15 public MapPutResponse(boolean success, Object previousValue, StoredValue[] possibleMatches) {
16 this.success = success;
17 this.previousValue = previousValue;
18 this.possibleMatches = possibleMatches;
19 }
20
21 @Override
22 public MapPutResponse encode(ValueEncoder encoder) {
23 return new MapPutResponse(isSuccess(),encoder.encode(getPreviousValue()),
24 encoder.encodeArray(getPossibleMatches()));
25 }
26
27 public boolean isSuccess() {
28 return success;
29 }
30
31 public Object getPreviousValue() {
32 return previousValue;
33 }
34
35 public StoredValue[] getPossibleMatches() {
36 return possibleMatches;
37 }
38
39 @Override
40 public void visit(ValueVisitor visitor) {
41 visitor.visit(previousValue);
42 visitor.visit(possibleMatches);
43 }
44 }