com.thetransactioncompany.jsonrpc2.util
Class PositionalParamsRetriever

java.lang.Object
  extended by com.thetransactioncompany.jsonrpc2.util.ParamsRetriever
      extended by com.thetransactioncompany.jsonrpc2.util.PositionalParamsRetriever

public class PositionalParamsRetriever
extends ParamsRetriever

Utility class for retrieving JSON-RPC 2.0 positional parameters (packed into a JSON Array).

Provides a set of getter methods according to the expected parameter type (number, string, etc.) and whether the parameter is mandatory or optional:

There are also generic getter methods that let you do the type conversion yourself.

If a parameter cannot be retrieved, e.g. due to a missing mandatory parameter or bad type, a JSONRPC2Error.INVALID_PARAMS exception is thrown.

Example: suppose you have a method with 3 positional parameters where the first two are mandatory and the last is optional and has a default value of true.

 // Parse received request string
 JSONRPC2Request request = null;

 try {
         request = JSONRPC2Request.parse(jsonString);
 } catch (JSONRPC2ParseException e) {
         // handle exception...
 }

 // Create a new retriever for positional parameters
 List params = (List)request.getParams();
 PositionalParamsRetriever r = new PositionalParamsRetriever(params);

 try {
         // Extract first mandatory string parameter
         String param1 = r.getString(0);

         // Extract second integer parameter
         int param2 = r.getInt(1);

         // Extract third optional boolean parameter which defaults to true
         boolean param3 = r.getOptBoolean(2, true);

 } catch (JSONRPC2Error e) {
         // A JSONRPC2Error.INVALID_PARAMS will be thrown to indicate
         // an unexpected parameter type or a missing mandatory parameter.
         // You can use it straight away to create the appropriate
         // JSON-RPC 2.0 error response.
         JSONRPC2Response response = new JSONRPC2Response(e, null);
 }
 

Version:
1.25 (2011-10-08)
Author:
Vladimir Dzhuvinov

Constructor Summary
PositionalParamsRetriever(java.util.List<java.lang.Object> params)
          Creates a new positional parameters retriever from the specified value list.
 
Method Summary
 void ensureParameter(int position)
          Throws a JSONRPC2Error.INVALID_PARAMS exception if there is no parameter at the specified position.
<T> void
ensureParameter(int position, java.lang.Class<T> clazz)
          Throws a JSONRPC2Error.INVALID_PARAMS exception if there is no parameter at the specified position, its value is null, or its type doesn't map to the specified.
<T> void
ensureParameter(int position, java.lang.Class<T> clazz, boolean allowNull)
          Throws a JSONRPC2Error.INVALID_PARAMS exception if there is no parameter at the specified position or its type doesn't map to the specified.
 java.lang.Object get(int position)
          Retrieves the specified parameter which can be of any type.
<T> T
get(int position, java.lang.Class<T> clazz)
          Retrieves the specified parameter which must map to the provided class (use the appropriate wrapper class for primitive types).
<T> T
get(int position, java.lang.Class<T> clazz, boolean allowNull)
          Retrieves the specified parameter which must map to the provided class (use the appropriate wrapper class for primitive types).
 boolean getBoolean(int position)
          Retrieves the specified boolean (maps from JSON true/false) parameter.
 double getDouble(int position)
          Retrieves the specified numeric parameter as a double.
<T extends java.lang.Enum<T>>
T
getEnum(int position, java.lang.Class<T> enumClass)
          Retrieves the specified enumerated parameter (from a JSON string that has a predefined set of possible values).
<T extends java.lang.Enum<T>>
T
getEnum(int position, java.lang.Class<T> enumClass, boolean ignoreCase)
          Retrieves the specified enumerated parameter (from a JSON string that has a predefined set of possible values), allowing for a case insensitive match.
 java.lang.String getEnumString(int position, java.lang.String[] enumStrings)
          Retrieves the specified enumerated string parameter.
 java.lang.String getEnumString(int position, java.lang.String[] enumStrings, boolean ignoreCase)
          Retrieves the specified enumerated string parameter, allowing for a case insenstive match.
 float getFloat(int position)
          Retrieves the specified numeric parameter as a float.
 int getInt(int position)
          Retrieves the specified numeric parameter as an int.
 java.util.List<java.lang.Object> getList(int position)
          Retrieves the specified list (maps from JSON array) parameter.
 java.util.List<java.lang.Object> getList(int position, boolean allowNull)
          Retrieves the specified list (maps from JSON array) parameter.
 long getLong(int position)
          Retrieves the specified numeric parameter as a long.
 java.util.Map<java.lang.String,java.lang.Object> getMap(int position)
          Retrieves the specified map (maps from JSON object) parameter.
 java.util.Map<java.lang.String,java.lang.Object> getMap(int position, boolean allowNull)
          Retrieves the specified map (maps from JSON object) parameter.
<T> T
getOpt(int position, java.lang.Class<T> clazz, boolean allowNull, T defaultValue)
          Retrieves the specified optional parameter which must map to the provided class (use the appropriate wrapper class for primitive types).
<T> T
getOpt(int position, java.lang.Class<T> clazz, T defaultValue)
          Retrieves the specified optional parameter which must map to the provided class (use the appropriate wrapper class for primitive types).
 boolean getOptBoolean(int position, boolean defaultValue)
          Retrieves the specified optional boolean (maps from JSON true/false) parameter.
 double getOptDouble(int position, double defaultValue)
          Retrieves the specified optional numeric parameter as a double.
<T extends java.lang.Enum<T>>
T
getOptEnum(int position, java.lang.Class<T> enumClass, java.lang.String defaultValue)
          Retrieves the specified optional enumerated parameter (from a JSON string that has a predefined set of possible values).
<T extends java.lang.Enum<T>>
T
getOptEnum(int position, java.lang.Class<T> enumClass, java.lang.String defaultValue, boolean ignoreCase)
          Retrieves the specified optional enumerated parameter (from a JSON string that has a predefined set of possible values), allowing for a case insenstive match.
 java.lang.String getOptEnumString(int position, java.lang.String[] enumStrings, java.lang.String defaultValue)
          Retrieves the specified optional enumerated string parameter.
 java.lang.String getOptEnumString(int position, java.lang.String[] enumStrings, java.lang.String defaultValue, boolean ignoreCase)
          Retrieves the specified optional enumerated string parameter, allowing for a case insenstive match.
 float getOptFloat(int position, float defaultValue)
          Retrieves the specified optional numeric parameter as a float.
 int getOptInt(int position, int defaultValue)
          Retrieves the specified optional numeric parameter as an int.
 java.util.List<java.lang.Object> getOptList(int position, boolean allowNull, java.util.List<java.lang.Object> defaultValue)
          Retrieves the specified optional list (maps from JSON array) parameter.
 java.util.List<java.lang.Object> getOptList(int position, java.util.List<java.lang.Object> defaultValue)
          Retrieves the specified optional list (maps from JSON array) parameter.
 long getOptLong(int position, long defaultValue)
          Retrieves the specified optional numeric parameter as a long.
 java.util.Map<java.lang.String,java.lang.Object> getOptMap(int position, boolean allowNull, java.util.Map<java.lang.String,java.lang.Object> defaultValue)
          Retrieves the specified optional map (maps from JSON object) parameter.
 java.util.Map<java.lang.String,java.lang.Object> getOptMap(int position, java.util.Map<java.lang.String,java.lang.Object> defaultValue)
          Retrieves the specified optional map (maps from JSON object) parameter.
 java.lang.String getOptString(int position, boolean allowNull, java.lang.String defaultValue)
          Retrieves the specified optional string parameter.
 java.lang.String getOptString(int position, java.lang.String defaultValue)
          Retrieves the specified optional string parameter.
 java.lang.String[] getOptStringArray(int position, boolean allowNull, java.lang.String[] defaultValue)
          Retrieves the specified optional string array (maps from JSON array of strings) parameter.
 java.lang.String[] getOptStringArray(int position, java.lang.String[] defaultValue)
          Retrieves the specified optional string array (maps from JSON array of strings) parameter.
 java.lang.String getString(int position)
          Retrieves the specified string parameter.
 java.lang.String getString(int position, boolean allowNull)
          Retrieves the specified string parameter.
 java.lang.String[] getStringArray(int position)
          Retrieves the specified string array (maps from JSON array of strings) parameter.
 java.lang.String[] getStringArray(int position, boolean allowNull)
          Retrieves the specified string array (maps from JSON array of strings) parameter.
 boolean hasParameter(int position)
          Returns true a parameter at the specified position exists, else false.
 int size()
          Returns the number of available positional parameters.
 
Methods inherited from class com.thetransactioncompany.jsonrpc2.util.ParamsRetriever
ensureEnumString, ensureEnumString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PositionalParamsRetriever

public PositionalParamsRetriever(java.util.List<java.lang.Object> params)
Creates a new positional parameters retriever from the specified value list.

Parameters:
params - The positional parameters list.
Method Detail

size

public int size()
Returns the number of available positional parameters.

Specified by:
size in class ParamsRetriever
Returns:
The number of positional parameters.

hasParameter

public boolean hasParameter(int position)
Returns true a parameter at the specified position exists, else false.

Parameters:
position - The parameter position.
Returns:
true if the parameter exists, else false.

ensureParameter

public void ensureParameter(int position)
                     throws JSONRPC2Error
Throws a JSONRPC2Error.INVALID_PARAMS exception if there is no parameter at the specified position.

You may use this method to fire the proper JSON-RPC 2.0 error on a missing mandatory parameter.

Parameters:
position - The parameter position, starting with zero for the first.
Throws:
JSONRPC2Error - On a missing parameter (JSONRPC2Error.INVALID_PARAMS).

ensureParameter

public <T> void ensureParameter(int position,
                                java.lang.Class<T> clazz)
                     throws JSONRPC2Error
Throws a JSONRPC2Error.INVALID_PARAMS exception if there is no parameter at the specified position, its value is null, or its type doesn't map to the specified.

You may use this method to fire the proper JSON-RPC 2.0 error on a missing or badly-typed mandatory parameter.

Parameters:
position - The parameter position.
clazz - The corresponding Java class that the parameter should map to (any one of the return types of the getXXX() getter methods. Set to Object.class to allow any type.
Throws:
JSONRPC2Error - On a missing parameter, null value or bad type (JSONRPC2Error.INVALID_PARAMS).

ensureParameter

public <T> void ensureParameter(int position,
                                java.lang.Class<T> clazz,
                                boolean allowNull)
                     throws JSONRPC2Error
Throws a JSONRPC2Error.INVALID_PARAMS exception if there is no parameter at the specified position or its type doesn't map to the specified.

You may use this method to fire the proper JSON-RPC 2.0 error on a missing or badly-typed mandatory parameter.

Parameters:
position - The parameter position.
clazz - The corresponding Java class that the parameter should map to (any one of the return types of the getXXX() getter methods. Set to Object.class to allow any type.
allowNull - If true allows a null parameter value.
Throws:
JSONRPC2Error - On a missing parameter or bad type (JSONRPC2Error.INVALID_PARAMS).

get

public java.lang.Object get(int position)
                     throws JSONRPC2Error
Retrieves the specified parameter which can be of any type. Use this generic getter if you want to cast the value yourself. Otherwise look at the typed get* methods.

Parameters:
position - The parameter position.
Returns:
The parameter value.
Throws:
JSONRPC2Error - On a missing parameter (JSONRPC2Error.INVALID_PARAMS).

get

public <T> T get(int position,
                 java.lang.Class<T> clazz)
      throws JSONRPC2Error
Retrieves the specified parameter which must map to the provided class (use the appropriate wrapper class for primitive types).

Parameters:
position - The parameter position.
clazz - The corresponding Java class that the parameter should map to (any one of the return types of the getXXX() getter methods. Set to Object.class to allow any type.
Returns:
The parameter value.
Throws:
JSONRPC2Error - On a missing parameter, null value or bad type (JSONRPC2Error.INVALID_PARAMS).

get

public <T> T get(int position,
                 java.lang.Class<T> clazz,
                 boolean allowNull)
      throws JSONRPC2Error
Retrieves the specified parameter which must map to the provided class (use the appropriate wrapper class for primitive types).

Parameters:
position - The parameter position.
clazz - The corresponding Java class that the parameter should map to (any one of the return types of the getXXX() getter methods. Set to Object.class to allow any type.
allowNull - If true allows a null parameter value.
Returns:
The parameter value.
Throws:
JSONRPC2Error - On a missing parameter or bad type (JSONRPC2Error.INVALID_PARAMS).

getOpt

public <T> T getOpt(int position,
                    java.lang.Class<T> clazz,
                    T defaultValue)
         throws JSONRPC2Error
Retrieves the specified optional parameter which must map to the provided class (use the appropriate wrapper class for primitive types). If the parameter doesn't exist the method returns the specified default value.

Parameters:
position - The parameter position.
clazz - The corresponding Java class that the parameter should map to (any one of the return types of the getXXX() getter methods. Set to Object.class to allow any type.
defaultValue - The default return value if the parameter doesn't exist. May be null.
Returns:
The parameter value.
Throws:
JSONRPC2Error - On a bad parameter type or null value (JSONRPC2Error.INVALID_PARAMS).

getOpt

public <T> T getOpt(int position,
                    java.lang.Class<T> clazz,
                    boolean allowNull,
                    T defaultValue)
         throws JSONRPC2Error
Retrieves the specified optional parameter which must map to the provided class (use the appropriate wrapper class for primitive types). If the parameter doesn't exist the method returns the specified default value.

Parameters:
position - The parameter position.
clazz - The corresponding Java class that the parameter should map to (any one of the return types of the getXXX() getter methods. Set to Object.class to allow any type.
allowNull - If true allows a null parameter value.
defaultValue - The default return value if the parameter doesn't exist. May be null.
Returns:
The parameter value.
Throws:
JSONRPC2Error - On a bad parameter type (JSONRPC2Error.INVALID_PARAMS).

getString

public java.lang.String getString(int position)
                           throws JSONRPC2Error
Retrieves the specified string parameter.

Parameters:
position - The parameter position.
Returns:
The parameter value as a string.
Throws:
JSONRPC2Error - On a missing parameter, bad type or null value (JSONRPC2Error.INVALID_PARAMS).

getString

public java.lang.String getString(int position,
                                  boolean allowNull)
                           throws JSONRPC2Error
Retrieves the specified string parameter.

Parameters:
position - The parameter position.
allowNull - If true allows a null value.
Returns:
The parameter value as a string.
Throws:
JSONRPC2Error - On a missing parameter or bad type (JSONRPC2Error.INVALID_PARAMS).

getOptString

public java.lang.String getOptString(int position,
                                     java.lang.String defaultValue)
                              throws JSONRPC2Error
Retrieves the specified optional string parameter. If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
defaultValue - The default return value if the parameter doesn't exist. May be null.
Returns:
The parameter value as a string.
Throws:
JSONRPC2Error - On a bad type or null value (JSONRPC2Error.INVALID_PARAMS).

getOptString

public java.lang.String getOptString(int position,
                                     boolean allowNull,
                                     java.lang.String defaultValue)
                              throws JSONRPC2Error
Retrieves the specified optional string parameter. If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
allowNull - If true allows a null value.
defaultValue - The default return value if the parameter doesn't exist. May be null.
Returns:
The parameter value as a string.
Throws:
JSONRPC2Error - On a bad type (JSONRPC2Error.INVALID_PARAMS).

getEnumString

public java.lang.String getEnumString(int position,
                                      java.lang.String[] enumStrings)
                               throws JSONRPC2Error
Retrieves the specified enumerated string parameter.

Parameters:
position - The parameter position.
enumStrings - The acceptable string values.
Returns:
The parameter value as a string.
Throws:
JSONRPC2Error - On a missing parameter, bad type or bad enumeration value (JSONRPC2Error.INVALID_PARAMS).

getEnumString

public java.lang.String getEnumString(int position,
                                      java.lang.String[] enumStrings,
                                      boolean ignoreCase)
                               throws JSONRPC2Error
Retrieves the specified enumerated string parameter, allowing for a case insenstive match.

Parameters:
position - The parameter position.
enumStrings - The acceptable string values.
ignoreCase - true for a case insensitive match.
Returns:
The matching parameter value as a string.
Throws:
JSONRPC2Error - On a missing parameter, bad type or bad enumeration value (JSONRPC2Error.INVALID_PARAMS).

getOptEnumString

public java.lang.String getOptEnumString(int position,
                                         java.lang.String[] enumStrings,
                                         java.lang.String defaultValue)
                                  throws JSONRPC2Error
Retrieves the specified optional enumerated string parameter. If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
enumStrings - The acceptable string values.
defaultValue - The default return value if the parameter doesn't exist. May be null.
Returns:
The parameter value as a string.
Throws:
JSONRPC2Error - On a bad type or bad enumeration value (JSONRPC2Error.INVALID_PARAMS).

getOptEnumString

public java.lang.String getOptEnumString(int position,
                                         java.lang.String[] enumStrings,
                                         java.lang.String defaultValue,
                                         boolean ignoreCase)
                                  throws JSONRPC2Error
Retrieves the specified optional enumerated string parameter, allowing for a case insenstive match. If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
enumStrings - The acceptable string values.
defaultValue - The default return value if the parameter doesn't exist. May be null.
ignoreCase - true for a case insensitive match.
Returns:
The parameter value as a string.
Throws:
JSONRPC2Error - On a bad type or bad enumeration value (JSONRPC2Error.INVALID_PARAMS).

getEnum

public <T extends java.lang.Enum<T>> T getEnum(int position,
                                               java.lang.Class<T> enumClass)
                                    throws JSONRPC2Error
Retrieves the specified enumerated parameter (from a JSON string that has a predefined set of possible values).

Parameters:
position - The parameter position.
enumClass - An enumeration type with constant names representing the acceptable string values.
Returns:
The matching enumeration constant.
Throws:
JSONRPC2Error - On a missing parameter, bad type or bad enumeration value (JSONRPC2Error.INVALID_PARAMS).

getEnum

public <T extends java.lang.Enum<T>> T getEnum(int position,
                                               java.lang.Class<T> enumClass,
                                               boolean ignoreCase)
                                    throws JSONRPC2Error
Retrieves the specified enumerated parameter (from a JSON string that has a predefined set of possible values), allowing for a case insensitive match.

Parameters:
position - The parameter position.
enumClass - An enumeration type with constant names representing the acceptable string values.
ignoreCase - If true a case insensitive match against the acceptable constant names is performed.
Returns:
The matching enumeration constant.
Throws:
JSONRPC2Error - On a missing parameter, bad type or bad enumeration value (JSONRPC2Error.INVALID_PARAMS).

getOptEnum

public <T extends java.lang.Enum<T>> T getOptEnum(int position,
                                                  java.lang.Class<T> enumClass,
                                                  java.lang.String defaultValue)
                                       throws JSONRPC2Error
Retrieves the specified optional enumerated parameter (from a JSON string that has a predefined set of possible values). If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
enumClass - An enumeration type with constant names representing the acceptable string values.
defaultValue - The default return value if the parameter doesn't exist. May be null.
Returns:
The matching enumeration constant.
Throws:
JSONRPC2Error - On a bad type or bad enumeration value (JSONRPC2Error.INVALID_PARAMS).

getOptEnum

public <T extends java.lang.Enum<T>> T getOptEnum(int position,
                                                  java.lang.Class<T> enumClass,
                                                  java.lang.String defaultValue,
                                                  boolean ignoreCase)
                                       throws JSONRPC2Error
Retrieves the specified optional enumerated parameter (from a JSON string that has a predefined set of possible values), allowing for a case insenstive match. If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
enumClass - An enumeration type with constant names representing the acceptable string values.
defaultValue - The default return value if the parameter doesn't exist. May be null.
ignoreCase - If true a case insensitive match against the acceptable constant names is performed.
Returns:
The matching enumeration constant.
Throws:
JSONRPC2Error - On a bad type or bad enumeration value (JSONRPC2Error.INVALID_PARAMS).

getBoolean

public boolean getBoolean(int position)
                   throws JSONRPC2Error
Retrieves the specified boolean (maps from JSON true/false) parameter.

Parameters:
position - The parameter position.
Returns:
The parameter value as a boolean.
Throws:
JSONRPC2Error - On a missing parameter, bad type or null value (JSONRPC2Error.INVALID_PARAMS).

getOptBoolean

public boolean getOptBoolean(int position,
                             boolean defaultValue)
                      throws JSONRPC2Error
Retrieves the specified optional boolean (maps from JSON true/false) parameter. If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
defaultValue - The default return value if the parameter doesn't exist.
Returns:
The parameter value as a boolean.
Throws:
JSONRPC2Error - On a bad parameter type or null value (JSONRPC2Error.INVALID_PARAMS).

getInt

public int getInt(int position)
           throws JSONRPC2Error
Retrieves the specified numeric parameter as an int.

Parameters:
position - The parameter position.
Returns:
The parameter value as an int.
Throws:
JSONRPC2Error - On a missing parameter, bad type or null value (JSONRPC2Error.INVALID_PARAMS).

getOptInt

public int getOptInt(int position,
                     int defaultValue)
              throws JSONRPC2Error
Retrieves the specified optional numeric parameter as an int. If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
defaultValue - The default return value if the parameter doesn't exist.
Returns:
The parameter value as an int.
Throws:
JSONRPC2Error - On a bad parameter type or null value (JSONRPC2Error.INVALID_PARAMS).

getLong

public long getLong(int position)
             throws JSONRPC2Error
Retrieves the specified numeric parameter as a long.

Parameters:
position - The parameter position.
Returns:
The parameter value as a long.
Throws:
JSONRPC2Error - On a missing parameter, bad type or null value (JSONRPC2Error.INVALID_PARAMS).

getOptLong

public long getOptLong(int position,
                       long defaultValue)
                throws JSONRPC2Error
Retrieves the specified optional numeric parameter as a long. If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
defaultValue - The default return value if the parameter doesn't exist.
Returns:
The parameter value as a long.
Throws:
JSONRPC2Error - On a bad parameter type or null value (JSONRPC2Error.INVALID_PARAMS).

getFloat

public float getFloat(int position)
               throws JSONRPC2Error
Retrieves the specified numeric parameter as a float.

Parameters:
position - The parameter position.
Returns:
The parameter value as a float.
Throws:
JSONRPC2Error - On a missing parameter, bad type or null value (JSONRPC2Error.INVALID_PARAMS).

getOptFloat

public float getOptFloat(int position,
                         float defaultValue)
                  throws JSONRPC2Error
Retrieves the specified optional numeric parameter as a float. If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
defaultValue - The default return value if the parameter doesn't exist.
Returns:
The parameter value as a float.
Throws:
JSONRPC2Error - On a bad parameter type or null value (JSONRPC2Error.INVALID_PARAMS).

getDouble

public double getDouble(int position)
                 throws JSONRPC2Error
Retrieves the specified numeric parameter as a double.

Parameters:
position - The parameter position.
Returns:
The parameter value as a double.
Throws:
JSONRPC2Error - On a missing parameter, bad type or null value (JSONRPC2Error.INVALID_PARAMS).

getOptDouble

public double getOptDouble(int position,
                           double defaultValue)
                    throws JSONRPC2Error
Retrieves the specified optional numeric parameter as a double. If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
defaultValue - The default return value if the parameter doesn't exist.
Returns:
The parameter value as a double.
Throws:
JSONRPC2Error - On a bad parameter type or null value (JSONRPC2Error.INVALID_PARAMS).

getList

public java.util.List<java.lang.Object> getList(int position)
                                         throws JSONRPC2Error
Retrieves the specified list (maps from JSON array) parameter.

Parameters:
position - The parameter position.
Returns:
The parameter value as a list.
Throws:
JSONRPC2Error - On a missing parameter, bad type or null value (JSONRPC2Error.INVALID_PARAMS).

getList

public java.util.List<java.lang.Object> getList(int position,
                                                boolean allowNull)
                                         throws JSONRPC2Error
Retrieves the specified list (maps from JSON array) parameter.

Parameters:
position - The parameter position.
allowNull - If true allows a null value.
Returns:
The parameter value as a list.
Throws:
JSONRPC2Error - On a missing parameter or bad type (JSONRPC2Error.INVALID_PARAMS).

getOptList

public java.util.List<java.lang.Object> getOptList(int position,
                                                   java.util.List<java.lang.Object> defaultValue)
                                            throws JSONRPC2Error
Retrieves the specified optional list (maps from JSON array) parameter. If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
defaultValue - The default return value if the parameter doesn't exist. May be null.
Returns:
The parameter value as a list.
Throws:
JSONRPC2Error - On a bad parameter type or null value (JSONRPC2Error.INVALID_PARAMS).

getOptList

public java.util.List<java.lang.Object> getOptList(int position,
                                                   boolean allowNull,
                                                   java.util.List<java.lang.Object> defaultValue)
                                            throws JSONRPC2Error
Retrieves the specified optional list (maps from JSON array) parameter. If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
allowNull - If true allows a null value.
defaultValue - The default return value if the parameter doesn't exist. May be null.
Returns:
The parameter value as a list.
Throws:
JSONRPC2Error - On a bad parameter type (JSONRPC2Error.INVALID_PARAMS).

getStringArray

public java.lang.String[] getStringArray(int position)
                                  throws JSONRPC2Error
Retrieves the specified string array (maps from JSON array of strings) parameter.

Parameters:
position - The parameter position.
Returns:
The parameter value as a string array.
Throws:
JSONRPC2Error - On a missing parameter, bad type or null value (JSONRPC2Error.INVALID_PARAMS).

getStringArray

public java.lang.String[] getStringArray(int position,
                                         boolean allowNull)
                                  throws JSONRPC2Error
Retrieves the specified string array (maps from JSON array of strings) parameter.

Parameters:
position - The parameter position.
allowNull - If true allows a null value.
Returns:
The parameter value as a string array.
Throws:
JSONRPC2Error - On a missing parameter or bad type (JSONRPC2Error.INVALID_PARAMS).

getOptStringArray

public java.lang.String[] getOptStringArray(int position,
                                            java.lang.String[] defaultValue)
                                     throws JSONRPC2Error
Retrieves the specified optional string array (maps from JSON array of strings) parameter. If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
defaultValue - The default return value if the parameter doesn't exist. May be null.
Returns:
The parameter value as a string array.
Throws:
JSONRPC2Error - On a bad parameter type or null value (JSONRPC2Error.INVALID_PARAMS).

getOptStringArray

public java.lang.String[] getOptStringArray(int position,
                                            boolean allowNull,
                                            java.lang.String[] defaultValue)
                                     throws JSONRPC2Error
Retrieves the specified optional string array (maps from JSON array of strings) parameter. If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
allowNull - If true allows a null value.
defaultValue - The default return value if the parameter doesn't exist. May be null.
Returns:
The parameter value as a string array.
Throws:
JSONRPC2Error - On a bad parameter type (JSONRPC2Error.INVALID_PARAMS).

getMap

public java.util.Map<java.lang.String,java.lang.Object> getMap(int position)
                                                        throws JSONRPC2Error
Retrieves the specified map (maps from JSON object) parameter.

Parameters:
position - The parameter position.
Returns:
The parameter value as a map.
Throws:
JSONRPC2Error - On a missing parameter, bad type or null value (JSONRPC2Error.INVALID_PARAMS).

getMap

public java.util.Map<java.lang.String,java.lang.Object> getMap(int position,
                                                               boolean allowNull)
                                                        throws JSONRPC2Error
Retrieves the specified map (maps from JSON object) parameter.

Parameters:
position - The parameter position.
allowNull - If true allows a null value.
Returns:
The parameter value as a map.
Throws:
JSONRPC2Error - On a missing parameter or bad type (JSONRPC2Error.INVALID_PARAMS).

getOptMap

public java.util.Map<java.lang.String,java.lang.Object> getOptMap(int position,
                                                                  java.util.Map<java.lang.String,java.lang.Object> defaultValue)
                                                           throws JSONRPC2Error
Retrieves the specified optional map (maps from JSON object) parameter. If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
defaultValue - The default return value if the parameter doesn't exist. May be null.
Returns:
The parameter value as a map.
Throws:
JSONRPC2Error - On a bad parameter type or null value (JSONRPC2Error.INVALID_PARAMS).

getOptMap

public java.util.Map<java.lang.String,java.lang.Object> getOptMap(int position,
                                                                  boolean allowNull,
                                                                  java.util.Map<java.lang.String,java.lang.Object> defaultValue)
                                                           throws JSONRPC2Error
Retrieves the specified optional map (maps from JSON object) parameter. If it doesn't exist the method will return the specified default value.

Parameters:
position - The parameter position.
allowNull - If true allows a null value.
defaultValue - The default return value if the parameter doesn't exist. May be null.
Returns:
The parameter value as a map.
Throws:
JSONRPC2Error - On a bad parameter type (JSONRPC2Error.INVALID_PARAMS).