001    package 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     */
021    public 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    }