View Javadoc

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 MapPutIfAbsentResponse extends TypeResponse<MapPutIfAbsentResponse> {
9   	private static final long serialVersionUID = 1L;
10  
11  	private final boolean wasPut;
12  	private final Object previousValue;
13  	private final StoredValue[] possibleMatches;
14  	private final Object[] possibleValues;
15  
16  	public MapPutIfAbsentResponse(StoredValue[] possibleMatches,Object[] possibleValues) {
17  		this(false,null,possibleMatches,possibleValues);
18  	}
19  
20  	public MapPutIfAbsentResponse(boolean wasPut, Object previousValue,
21  			StoredValue[] possibleMatches,
22  			Object[] possibleValues) {
23  		this.wasPut = wasPut;
24  		this.previousValue = previousValue;
25  		this.possibleMatches = possibleMatches;
26  		this.possibleValues = possibleValues;
27  	}
28  
29  	@Override
30  	public MapPutIfAbsentResponse encode(ValueEncoder encoder) {
31  		return new MapPutIfAbsentResponse(wasPut,encoder.encode(previousValue),
32  				encoder.encode(possibleMatches),
33  				encoder.encode(possibleValues));
34  	}
35  	
36  	public StoredValue[] getPossibleMatches() {
37  		return possibleMatches;
38  	}
39  	public Object[] getPossibleValues() {
40  		return possibleValues;
41  	}
42  	
43  	public boolean wasPut() {
44  		return wasPut;
45  	}
46  	
47  	public Object getPreviousValue() {
48  		return previousValue;
49  	}
50  	@Override
51  	public void visit(ValueVisitor visitor) {
52  		visitor.visit(previousValue);
53  		visitor.visit(possibleMatches);
54  		visitor.visit(possibleValues);
55  	}
56  }