/**
* Copyright 2016-2017 Sixt GmbH & Co. Autovermietung KG
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain a
* copy of the License at http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package com.sixt.service.framework.json;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
import com.google.gson.JsonObject;
public class JsonRpcRequest {
public final static String ID_FIELD = "id";
public final static String METHOD_FIELD = "method";
public final static String PARAMS_FIELD = "params";
private JsonElement id;
private String method;
private JsonArray params;
public JsonRpcRequest(JsonElement id, String method, JsonArray params) {
setId(id);
setMethod(method);
setParams(params);
}
@Override
public String toString() {
JsonObject json = new JsonObject();
json.add(ID_FIELD, id);
json.addProperty(METHOD_FIELD, method);
json.add(PARAMS_FIELD, params);
return json.toString();
}
public JsonElement getId() {
return id;
}
public void setId(JsonElement id) {
this.id = id;
}
public String getMethod() {
return method;
}
public void setMethod(String method) {
this.method = method;
}
public JsonArray getParams() {
return params;
}
public void setParams(JsonArray params) {
this.params = params;
}
public String getIdAsString() {
if (id == null || id instanceof JsonNull) {
return null;
} else {
return id.getAsString();
}
}
}