Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 //  The contents of this file are subject to the Mozilla Public License
 //  Version 1.1 (the "License"); you may not use this file except in
 //  compliance with the License. You may obtain a copy of the License
 //  at http://www.mozilla.org/MPL/
 //
 //  Software distributed under the License is distributed on an "AS IS"
 //  basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
 //  the License for the specific language governing rights and
 //  limitations under the License.
//
//  The Original Code is RabbitMQ.
//
//  The Initial Developer of the Original Code is VMware, Inc.
//  Copyright (c) 2007-2011 VMware, Inc.  All rights reserved.
//
package com.rabbitmq.tools.jsonrpc;
Description of a single JSON-RPC procedure.
public class ProcedureDescription {
    
Procedure name
    public String name;
    
Human-readable procedure summary
    public String summary;
    
Human-readable instructions for how to get information on the procedure's operation
    public String help;
    
True if this procedure is idempotent, that is, can be accessed via HTTP GET
    public boolean idempotent;

    
Descriptions of parameters for this procedure
    private ParameterDescription[] params;
    
Return type for this procedure
    private String returnType;

    
Reflected method object, used for service invocation
    private Method method;
    public ProcedureDescription(Map<StringObjectpm) {
        JSONUtil.tryFill(thispm);
        @SuppressWarnings("unchecked")
        List<Map<StringObject>> p = (List<Map<StringObject>>) pm.get("params");
         = new ParameterDescription[p.size()];
        int count = 0;
        for (Map<StringObjectparam_mapp) {
            ParameterDescription param = new ParameterDescription(param_map);
            [count++] = param;
        }
    }
    public ProcedureDescription(Method m) {
        this. = m;
        this. = m.getName();
        this. = "";
        this. = "";
        this. = false;
        Class<?>[] parameterTypes = m.getParameterTypes();
        this. = new ParameterDescription[parameterTypes.length];
        for (int i = 0; i < parameterTypes.lengthi++) {
            [i] = new ParameterDescription(iparameterTypes[i]);
        }
        this. = ParameterDescription.lookup(m.getReturnType());
    }
    public ProcedureDescription() {
        // no work to do here
    }

    
Getter for return type
    public String getReturn() { return ; }
    
Private API - used via reflection during parsing/loading
    public void setReturn(String value) {  = value; }

    
Private API - used to get the reflected method object, for servers
    public Method internal_getMethod() { return ; }

    
Gets an array of parameter descriptions for all this procedure's parameters
        return ;
    }

    
Retrieves the parameter count for this procedure
    public int arity() {
        return ( == null) ? 0 : .;
    }
    public ParameterDescription[] getParams() {
        return ;
    }
New to GrepCode? Check out our FAQ X