View Javadoc

1   package org.sourceforge.jemm.collections.internal.list;
2   
3   import org.sourceforge.jemm.client.shared.ValueEncoder;
4   import org.sourceforge.jemm.lifecycle.TypeResponse;
5   import org.sourceforge.jemm.lifecycle.ValueVisitor;
6   
7   public class ListIndexOfResponse extends TypeResponse<ListIndexOfResponse> {
8   	private static final long serialVersionUID = 1L;
9   
10  	private final int index;	
11  	private final int[] possibleIndexes;
12  	private final Object[] possibleMatches;
13  	
14  	private ListIndexOfResponse(int index,int []possibleIndexes,Object[] possibleMatches) {
15  		this.index = index;
16  		this.possibleIndexes = possibleIndexes;
17  		this.possibleMatches = possibleMatches;
18  	}
19  
20  	public ListIndexOfResponse(int index) {
21  		this(index,null,null);
22  	}
23  
24  	public ListIndexOfResponse(int []possibleIndexes,Object[] possibleMatches) {
25  		this(-1,possibleIndexes,possibleMatches);
26  	}
27  	
28  	@Override
29  	public ListIndexOfResponse encode(ValueEncoder encoder) {		
30  		// immutable value type
31  		return this;
32  	}
33  
34  	public int getIndex() {
35  		return index;
36  	}
37  
38  	public int[] getPossibleIndexes() {
39  		return possibleIndexes;
40  	}
41  
42  	public Object[] getPossibleMatches() {
43  		return possibleMatches;
44  	}
45  
46  	public boolean hasPossibles() {
47  		return possibleIndexes != null;
48  	}
49  
50  	@Override
51  	public void visit(ValueVisitor visitor) {
52  		visitor.visit(possibleIndexes);
53  		visitor.visit(possibleMatches);
54  	}
55  }