Class JSONRPC2Error
- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- com.thetransactioncompany.jsonrpc2.JSONRPC2Error
-
- All Implemented Interfaces:
java.io.Serializable
public class JSONRPC2Error extends java.lang.Exception
Represents a JSON-RPC 2.0 error that occurred during the processing of a request. This class is immutable.The protocol expects error objects to be structured like this:
code
An integer that indicates the error type.message
A string providing a short description of the error. The message should be limited to a concise single sentence.data
Additional information, which may be omitted. Its contents is entirely defined by the application.
Note that the "Error" word in the class name was put there solely to comply with the parlance of the JSON-RPC spec. This class doesn't inherit from
java.lang.Error
. It's a regular subclass ofjava.lang.Exception
and, if thrown, it's to indicate a condition that a reasonable application might want to catch.This class also includes convenient final static instances for all standard JSON-RPC 2.0 errors:
PARSE_ERROR
JSON parse error (-32700)INVALID_REQUEST
Invalid JSON-RPC 2.0 Request (-32600)METHOD_NOT_FOUND
Method not found (-32601)INVALID_PARAMS
Invalid parameters (-32602)INTERNAL_ERROR
Internal error (-32603)
Note that the range -32099..-32000 is reserved for additional server errors.
The mapping between JSON and Java entities (as defined by the underlying JSON Smart library):
true|false <---> java.lang.Boolean number <---> java.lang.Number string <---> java.lang.String array <---> java.util.List object <---> java.util.Map null <---> null
- Author:
- Vladimir Dzhuvinov
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static JSONRPC2Error
INTERNAL_ERROR
Internal JSON-RPC 2.0 error (-32603).static JSONRPC2Error
INVALID_PARAMS
Invalid parameters error (-32602).static JSONRPC2Error
INVALID_REQUEST
Invalid JSON-RPC 2.0 request error (-32600).static JSONRPC2Error
METHOD_NOT_FOUND
Method not found error (-32601).static JSONRPC2Error
PARSE_ERROR
JSON parse error (-32700).
-
Constructor Summary
Constructors Constructor Description JSONRPC2Error(int code, java.lang.String message)
Creates a new JSON-RPC 2.0 error with the specified code and message.JSONRPC2Error(int code, java.lang.String message, java.lang.Object data)
Creates a new JSON-RPC 2.0 error with the specified code, message and data.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JSONRPC2Error
appendMessage(java.lang.String apx)
Appends the specified string to the message of this JSON-RPC 2.0 error.boolean
equals(java.lang.Object object)
OverridesObject.equals()
.int
getCode()
Gets the JSON-RPC 2.0 error code.java.lang.Object
getData()
Gets the JSON-RPC 2.0 error data.JSONRPC2Error
setData(java.lang.Object data)
Sets the specified data to a JSON-RPC 2.0 error.net.minidev.json.JSONObject
toJSONObject()
Returns a JSON object representation of this JSON-RPC 2.0 error.java.lang.String
toString()
Serialises the error object to a JSON string.
-
-
-
Field Detail
-
PARSE_ERROR
public static final JSONRPC2Error PARSE_ERROR
JSON parse error (-32700).
-
INVALID_REQUEST
public static final JSONRPC2Error INVALID_REQUEST
Invalid JSON-RPC 2.0 request error (-32600).
-
METHOD_NOT_FOUND
public static final JSONRPC2Error METHOD_NOT_FOUND
Method not found error (-32601).
-
INVALID_PARAMS
public static final JSONRPC2Error INVALID_PARAMS
Invalid parameters error (-32602).
-
INTERNAL_ERROR
public static final JSONRPC2Error INTERNAL_ERROR
Internal JSON-RPC 2.0 error (-32603).
-
-
Constructor Detail
-
JSONRPC2Error
public JSONRPC2Error(int code, java.lang.String message)
Creates a new JSON-RPC 2.0 error with the specified code and message. The optional data is omitted.- Parameters:
code
- The error code (standard pre-defined or application-specific).message
- The error message.
-
JSONRPC2Error
public JSONRPC2Error(int code, java.lang.String message, java.lang.Object data)
Creates a new JSON-RPC 2.0 error with the specified code, message and data.- Parameters:
code
- The error code (standard pre-defined or application-specific).message
- The error message.data
- Optional error data, must map to a valid JSON type.
-
-
Method Detail
-
getCode
public int getCode()
Gets the JSON-RPC 2.0 error code.- Returns:
- The error code.
-
getData
public java.lang.Object getData()
Gets the JSON-RPC 2.0 error data.- Returns:
- The error data,
null
if none was specified.
-
setData
public JSONRPC2Error setData(java.lang.Object data)
Sets the specified data to a JSON-RPC 2.0 error.- Parameters:
data
- Optional error data, must map to a valid JSON type.- Returns:
- A new JSON-RPC 2.0 error with the set data.
-
appendMessage
public JSONRPC2Error appendMessage(java.lang.String apx)
Appends the specified string to the message of this JSON-RPC 2.0 error.- Parameters:
apx
- The string to append to the original error message.- Returns:
- A new JSON-RPC 2.0 error with the appended message.
-
toJSONObject
public net.minidev.json.JSONObject toJSONObject()
Returns a JSON object representation of this JSON-RPC 2.0 error.- Returns:
- A JSON object representing this error object.
-
toString
public java.lang.String toString()
Serialises the error object to a JSON string.- Overrides:
toString
in classjava.lang.Throwable
- Returns:
- A JSON-encoded string representing this error object.
-
equals
public boolean equals(java.lang.Object object)
OverridesObject.equals()
.- Overrides:
equals
in classjava.lang.Object
- Parameters:
object
- The object to compare to.- Returns:
true
if both objects are instances if this class and their error codes are identical,false
if not.
-
-