All Implemented Interfaces:
Serializable

public class JSONRPC2ExtendedErrorextends JSONRPC2Error
Represents a JSON-RPC 2.0 error that occured during the processing of a request. The implementation defined errors below use the reserved range -32099 .. -32000.

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 of java.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:

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.simple library):

    true|false  <--->  java.lang.Boolean
    number      <--->  java.lang.Number
    string      <--->  java.lang.String
    array       <--->  java.util.List
    object      <--->  java.util.Map
    null        <--->  null

The JSON-RPC 2.0 specification and user group forum can be found here.

See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Pinned for serialized-form compatibility.
      See Also:
    • INVALID_PASSWORD

      public static final JSONRPC2Error INVALID_PASSWORD
      Invalid password provided.
    • NO_TOKEN

      public static final JSONRPC2Error NO_TOKEN
      No authentication token presented.
    • INVALID_TOKEN

      public static final JSONRPC2Error INVALID_TOKEN
      Authentication token doesn't exist.
    • TOKEN_EXPIRED

      public static final JSONRPC2Error TOKEN_EXPIRED
      Provided authentication token was expired and will be removed.
    • UNSPECIFIED_API_VERSION

      public static final JSONRPC2Error UNSPECIFIED_API_VERSION
      The version of the I2PControl API wasn't specified, but is required to be specified.
    • UNSUPPORTED_API_VERSION

      public static final JSONRPC2Error UNSUPPORTED_API_VERSION
      The version of the I2PControl API specified is not supported by I2PControl.
  • Constructor Details

    • JSONRPC2ExtendedError

      public JSONRPC2ExtendedError(int code, 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.
    • JSONRPC2ExtendedError

      public JSONRPC2ExtendedError(int code, String message, 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.