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