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
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 }