JsonRpcRequest.java
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------------------------------------------*/
package com.github.copilot.sdk.json;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* JSON-RPC 2.0 request structure.
* <p>
* This is an internal class representing the wire format of a JSON-RPC request.
* It follows the JSON-RPC 2.0 specification.
*
* @see JsonRpcResponse
* @see <a href="https://www.jsonrpc.org/specification">JSON-RPC 2.0
* Specification</a>
* @since 1.0.0
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
public final class JsonRpcRequest {
@JsonProperty("jsonrpc")
private String jsonrpc;
@JsonProperty("id")
private Long id;
@JsonProperty("method")
private String method;
@JsonProperty("params")
private Object params;
/**
* Gets the JSON-RPC version.
*
* @return the version string (should be "2.0")
*/
public String getJsonrpc() {
return jsonrpc;
}
/**
* Sets the JSON-RPC version.
*
* @param jsonrpc
* the version string
*/
public void setJsonrpc(String jsonrpc) {
this.jsonrpc = jsonrpc;
}
/**
* Gets the request ID.
*
* @return the request identifier
*/
public Long getId() {
return id;
}
/**
* Sets the request ID.
*
* @param id
* the request identifier
*/
public void setId(Long id) {
this.id = id;
}
/**
* Gets the method name.
*
* @return the RPC method to invoke
*/
public String getMethod() {
return method;
}
/**
* Sets the method name.
*
* @param method
* the RPC method to invoke
*/
public void setMethod(String method) {
this.method = method;
}
/**
* Gets the method parameters.
*
* @return the parameters object
*/
public Object getParams() {
return params;
}
/**
* Sets the method parameters.
*
* @param params
* the parameters object
*/
public void setParams(Object params) {
this.params = params;
}
}