@Override public int hashCode() { int result = template != null ? template.hashCode() : 0; result = 31 * result + (path != null ? path.hashCode() : 0); result = 31 * result + (httpMethod != null ? httpMethod.hashCode() : 0); result = 31 * result + queryCount; result = 31 * result + (transcendent ? 1 : 0); result = 31 * result + (anyHttpMethod ? 1 : 0); result = 31 * result + (anyQueryCount ? 1 : 0); return result; } }
private void serializeValues(StringBuilder result, HttpMethod method, Set<HttpParameter> parameters) { result.append("\"").append(method.name()).append("\":["); for (HttpParameter parameter : parameters) { for (Entry<String, String> entry : parameter.getEncodedEntries()) { result.append("{\"type\": \"").append(parameter.getType().name()) .append("\", \"key\": \"").append(entry.getKey()) .append("\", \"value\": \"").append(entry.getValue()).append("\"},"); } } if (!parameters.isEmpty()) { result.deleteCharAt(result.length() - 1); } result.append("],"); } }
if (!action.getHttpMethod().equals(httpMethod)) { return false;
/** * 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; }