package water.api; import water.api.RequestServer.API_VERSION; import dontweave.gson.JsonArray; import dontweave.gson.JsonObject; public abstract class TypeaheadRequest extends Request { protected final Str _filter; protected final Int _limit; public TypeaheadRequest(String help, String filter) { _requestHelp = help; _filter = new Str(FILTER,filter); _filter._requestHelp = "Only items matching this filter will be returned."; _limit = new Int(LIMIT,1024,0,10240); _limit._requestHelp = "Max number of items to be returned."; } @Override final protected Response serve() { JsonArray array = serve(_filter.value(), _limit.value()); JsonObject response = new JsonObject(); response.add(ITEMS, array); return Response.done(response); } @Override protected boolean log() { return false; } abstract protected JsonArray serve(String filter, int limit); @Override public API_VERSION[] supportedVersions() { return SUPPORTS_V1_V2; } }