JsonRpcError.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 error structure.
* <p>
* This is an internal class representing an error in a JSON-RPC response. It
* contains an error code, message, and optional additional data.
*
* <h2>Standard Error Codes</h2>
* <ul>
* <li>-32700: Parse error</li>
* <li>-32600: Invalid Request</li>
* <li>-32601: Method not found</li>
* <li>-32602: Invalid params</li>
* <li>-32603: Internal error</li>
* </ul>
*
* @see JsonRpcResponse
* @see <a href="https://www.jsonrpc.org/specification#error_object">JSON-RPC
* Error Object</a>
* @since 1.0.0
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
public final class JsonRpcError {
@JsonProperty("code")
private int code;
@JsonProperty("message")
private String message;
@JsonProperty("data")
private Object data;
/**
* Gets the error code.
*
* @return the integer error code
*/
public int getCode() {
return code;
}
/**
* Sets the error code.
*
* @param code
* the integer error code
*/
public void setCode(int code) {
this.code = code;
}
/**
* Gets the error message.
*
* @return the human-readable error message
*/
public String getMessage() {
return message;
}
/**
* Sets the error message.
*
* @param message
* the error message
*/
public void setMessage(String message) {
this.message = message;
}
/**
* Gets the additional error data.
*
* @return the additional data, or {@code null} if none
*/
public Object getData() {
return data;
}
/**
* Sets the additional error data.
*
* @param data
* the additional data
*/
public void setData(Object data) {
this.data = data;
}
}