/** * Used to serialize the bindings at compilation. Usage of GWT code is <b>not</b> allowed. */ public String serialize(RestParameterBindings parameterBindings) { StringBuilder result = new StringBuilder("{"); for (Entry<HttpMethod, Set<HttpParameter>> entry : parameterBindings.entrySet()) { serializeValues(result, entry.getKey(), entry.getValue()); } if (!parameterBindings.isEmpty()) { result.deleteCharAt(result.length() - 1); } result.append("}"); return result.toString(); }
private void addGlobalHeaders(RestAction<?> action, List<HttpParameter> headerParams) { headerParams.addAll(globalParams.get(action.getHttpMethod())); }
/** * Define the value of this parameter. * * @param value The value for this parameter. * * @return The module builder instance. */ public B withValue(String value) { HttpParameter parameter = new ClientHttpParameter(type, key, value, null); for (HttpMethod httpMethod : httpMethods) { target.put(httpMethod, parameter); } return moduleBuilder; } }
/** * Used to deserialize the bindings once on the client. Usage of GWT code is allowed. */ public RestParameterBindings deserialize(String encodedParameters) { RestParameterBindings parameters = new RestParameterBindings(); JSONObject json = JSONParser.parseStrict(encodedParameters).isObject(); for (String method : json.keySet()) { HttpMethod httpMethod = HttpMethod.valueOf(method); JSONArray jsonParameters = json.get(method).isArray(); for (int i = 0; i < jsonParameters.size(); ++i) { HttpParameter parameter = deserialize(jsonParameters.get(i).isObject()); parameters.put(httpMethod, parameter); } } return parameters; }
private List<HttpParameter> getParameters(RestAction<?> action, Type type) { List<HttpParameter> queryParams = new ArrayList<>(); queryParams.addAll(globalQueryParams.get(action.getHttpMethod())); queryParams.addAll(action.getParameters(type)); return queryParams; }