Class JSONRPC2Request


  • public class JSONRPC2Request
    extends Object
    Represents a JSON-RPC 2.0 request.

    A request carries four pieces of data:

    • method The name of the remote method to call.
    • params The required method parameters (if any), which can be packed into a JSON array or object.
    • id An identifier which is echoed back to the client with the response.
    • jsonrpc A string indicating the JSON-RPC protocol version set to "2.0".

    Here is a sample JSON-RPC 2.0 request string:

     {
        "method"  : "makePayment",
        "params"  : { "recipient" : "Penny Adams", "amount":175.05 },
        "id"      : "0001",
        "jsonrpc" : "2.0"
     }
     
    Author:
    Vladimir Dzhuvinov
    • Constructor Detail

      • JSONRPC2Request

        public JSONRPC2Request​(String method,
                               Object id)
        Constructs a new JSON-RPC 2.0 request with no parameters.
        Parameters:
        method - The name of the requested method. Must not be null.
        id - The request identifier echoed back to the caller. The value must map to a JSON scalar (null and fractions, however, should be avoided).
      • JSONRPC2Request

        public JSONRPC2Request​(String method,
                               List<Object> positionalParams,
                               Object id)
        Constructs a new JSON-RPC 2.0 request with positional (JSON array) parameters.
        Parameters:
        method - The name of the requested method. Must not be null.
        positionalParams - The positional (JSON array) parameters, null if none.
        id - The request identifier echoed back to the caller. The value must map to a JSON scalar (null and fractions, however, should be avoided).
      • JSONRPC2Request

        public JSONRPC2Request​(String method,
                               Map<String,​Object> namedParams,
                               Object id)
        Constructs a new JSON-RPC 2.0 request with named (JSON object) parameters.
        Parameters:
        method - The name of the requested method.
        namedParams - The named (JSON object) parameters, null if none.
        id - The request identifier echoed back to the caller. The value must map to a JSON scalar (null and fractions, however, should be avoided).
    • Method Detail

      • getMethod

        public String getMethod()
        Gets the name of the requested method.
        Returns:
        The method name.
      • setMethod

        public void setMethod​(String method)
        Sets the name of the requested method.
        Parameters:
        method - The method name. Must not be null.
      • getParams

        public Object getParams()
        Gets the request parameters.

        This method was deprecated in version 1.30. Use getPositionalParams() or getNamedParams() instead.

        Returns:
        The parameters as List&lt;Object&gt; for positional (JSON array), Map&lt;String,Object&gt; for named (JSON object), or null if none.
      • getPositionalParams

        public List<Object> getPositionalParams()
        Gets the positional (JSON array) parameters.
        Returns:
        The positional (JSON array) parameters, null if none or named.
        Since:
        1.30
      • setPositionalParams

        public void setPositionalParams​(List<Object> positionalParams)
        Sets the positional (JSON array) request parameters.
        Parameters:
        positionalParams - The positional (JSON array) request parameters, null if none.
        Since:
        1.30
      • getNamedParams

        public Map<String,​Object> getNamedParams()
        Gets the named parameters.
        Returns:
        The named (JSON object) parameters, null if none or positional.
        Since:
        1.30
      • setNamedParams

        public void setNamedParams​(Map<String,​Object> namedParams)
        Sets the named (JSON object) request parameters.
        Parameters:
        namedParams - The named (JSON object) request parameters, null if none.
        Since:
        1.30
      • getID

        public Object getID()
        Gets the request identifier.
        Returns:
        The request identifier (Number, Boolean, String) or null.
      • setID

        public void setID​(Object id)
        Sets the request identifier (ID).
        Parameters:
        id - The request identifier echoed back to the caller. The value must map to a JSON scalar (null and fractions, however, should be avoided).