1 16 package com.google.gwt.user.client.ui; 17 18 import com.google.gwt.user.client.rpc.IsSerializable; 19 20 import java.util.Collection ; 21 22 29 public abstract class SuggestOracle { 30 31 34 public SuggestOracle() { 35 } 36 37 44 public boolean isDisplayStringHTML() { 45 return false; 46 } 47 48 56 public abstract void requestSuggestions(Request request, Callback callback); 57 58 63 public interface Callback { 64 72 public void onSuggestionsReady(Request request, Response response); 73 } 74 75 78 public static class Request implements IsSerializable { 79 private int limit = 20; 80 private String query; 81 82 85 public Request() { 86 } 87 88 93 public Request(String query) { 94 setQuery(query); 95 } 96 97 104 public Request(String query, int limit) { 105 setQuery(query); 106 setLimit(limit); 107 } 108 109 114 public int getLimit() { 115 return limit; 116 } 117 118 123 public String getQuery() { 124 return query; 125 } 126 127 132 public void setLimit(int limit) { 133 this.limit = limit; 134 } 135 136 141 public void setQuery(String query) { 142 this.query = query; 143 } 144 } 145 146 149 public static class Response implements IsSerializable { 150 151 154 private Collection suggestions; 155 156 159 public Response() { 160 } 161 162 168 public Response(Collection suggestions) { 169 setSuggestions(suggestions); 170 } 171 172 178 public Collection getSuggestions() { 179 return this.suggestions; 180 } 181 182 188 public void setSuggestions(Collection suggestions) { 189 this.suggestions = suggestions; 190 } 191 } 192 193 200 public interface Suggestion { 201 208 String getDisplayString(); 209 210 215 Object getValue(); 216 } 217 } 218 | Popular Tags |