001package com.thetransactioncompany.jsonrpc2;
002
003
004/**
005 * Enumeration of the three parameter types in JSON-RPC 2.0 requests and 
006 * notifications.
007 *
008 * <ul>
009 *     <li>{@link #NO_PARAMS} The method takes no parameters.
010 *     <li>{@link #ARRAY} The method takes positional parameters, packed as a 
011 *         JSON array, e.g. {@code ["val1", "val2", ...]}.
012 *     <li>{@link #OBJECT} The method takes named parameters, packed as a JSON 
013 *         object, e.g. {@code {"param1":"val1", "param2":"val2", ...}}.
014 * </ul>
015 *
016 * <p>The JSON-RPC 2.0 specification and user group forum can be found 
017 * <a href="http://groups.google.com/group/json-rpc">here</a>.
018 * 
019 * @author Vladimir Dzhuvinov
020 */
021public enum JSONRPC2ParamsType {
022
023
024        /**
025         * No parameters.
026         */
027        NO_PARAMS,
028        
029        
030        /**
031         * Positional parameters, packed as a JSON array.
032         */
033        ARRAY,
034        
035        
036        /**
037         * Named parameters, packed as a JSON object.
038         */
039        OBJECT
040}