restygwt/src/main/java/org/fusesource/restygwt/rebind/RestServiceClassCreator.java
String getRestMethod(JMethod method) throws UnableToCompleteException {
        String restMethod = null;

        Annotation[] annotations = method.getAnnotations();
        for (Annotation annotation : annotations) {
            HttpMethod httpMethod = annotation.annotationType().getAnnotation(HttpMethod.class);
            // Check is HttpMethod
            if (null != httpMethod) {
                if (null != restMethod) {
                    // Error, see description of HttpMethod
                    getLogger().log(ERROR,
                        "Invalid method. It is an error for a method to be annotated with more than one annotation " +
                            "that is annotated with HttpMethod: " + method.getReadableDeclaration());
                    throw new UnableToCompleteException();
                }
                restMethod = httpMethod.value();
            }
        }

        if (null != restMethod) {
            // Allow custom methods later?
            restMethod = restMethod.toLowerCase();
            if (!REST_METHODS.contains(restMethod)) {
                getLogger().log(ERROR, "Invalid rest method. It must have a javax rs method annotation: " +
                    method.getReadableDeclaration());
                throw new UnableToCompleteException();
            }
        } else if (null != getAnnotation(method, JSONP.class)) {
            restMethod = METHOD_JSONP;
        } else {
            restMethod = method.getName();
            if (!REST_METHODS.contains(restMethod)) {
                getLogger().log(ERROR,
                    "Invalid rest method. It must either have a lower case rest method name or have a javax rs method" +
                        " annotation: " + method.getReadableDeclaration());
                throw new UnableToCompleteException();
            }
        }

        return restMethod;
    }
String getRestMethod(JMethod method) throws UnableToCompleteException {
        String restMethod = null;

        Annotation[] annotations = method.getAnnotations();
        for (Annotation annotation : annotations) {
            HttpMethod httpMethod = annotation.annotationType().getAnnotation(HttpMethod.class);
            // Check is HttpMethod
            if (null != httpMethod) {
                if (null != restMethod) {
                    // Error, see description of HttpMethod
                    getLogger().log(ERROR,
                        "Invalid method. It is an error for a method to be annotated with more than one annotation " +
                            "that is annotated with HttpMethod: " + method.getReadableDeclaration());
                    throw new UnableToCompleteException();
                }
                restMethod = httpMethod.value();
            }
        }

        if (null != restMethod) {
            // Allow custom methods later?
            restMethod = restMethod.toLowerCase();
            if (!REST_METHODS.contains(restMethod)) {
                getLogger().log(ERROR, "Invalid rest method. It must have a javax rs method annotation: " +
                    method.getReadableDeclaration());
                throw new UnableToCompleteException();
            }
        } else if (null != getAnnotation(method, JSONP.class)) {
            restMethod = METHOD_JSONP;
        } else {
            restMethod = method.getName();
            if (!REST_METHODS.contains(restMethod)) {
                getLogger().log(ERROR,
                    "Invalid rest method. It must either have a lower case rest method name or have a javax rs method" +
                        " annotation: " + method.getReadableDeclaration());
                throw new UnableToCompleteException();
            }
        }

        return restMethod;
    }
String getRestMethod ( JMethod method ) throws UnableToCompleteException { String restMethod = null ; Annotation [ ] annotations = method . getAnnotations ( ) ; for ( Annotation annotation : annotations ) { HttpMethod httpMethod = annotation . annotationType ( ) . getAnnotation ( HttpMethod . class ) ; // Check is HttpMethod if ( null != httpMethod ) { if ( null != restMethod ) { // Error, see description of HttpMethod getLogger ( ) . log ( ERROR , "Invalid method. It is an error for a method to be annotated with more than one annotation " + "that is annotated with HttpMethod: " + method . getReadableDeclaration ( ) ) ; throw new UnableToCompleteException ( ) ; } restMethod = httpMethod . value ( ) ; } } if ( null != restMethod ) { // Allow custom methods later? restMethod = restMethod . toLowerCase ( ) ; if ( ! REST_METHODS . contains ( restMethod ) ) { getLogger ( ) . log ( ERROR , "Invalid rest method. It must have a javax rs method annotation: " + method . getReadableDeclaration ( ) ) ; throw new UnableToCompleteException ( ) ; } } else if ( null != getAnnotation ( method , JSONP . class ) ) { restMethod = METHOD_JSONP ; } else { restMethod = method . getName ( ) ; if ( ! REST_METHODS . contains ( restMethod ) ) { getLogger ( ) . log ( ERROR , "Invalid rest method. It must either have a lower case rest method name or have a javax rs method" + " annotation: " + method . getReadableDeclaration ( ) ) ; throw new UnableToCompleteException ( ) ; } } return restMethod ; }
Returns the rest method.
<p />
Iterates over the annotations and look for an annotation that is annotated with HttpMethod.

@param method
@return the rest method.
@throws UnableToCompleteException
<ul>
<li>If more than one annotation that is annotated with HttpMethod is present,</li>
<li>an invalid jax-rs method annotation is found or</li>
<li>no annotation was found and the method name does not match a valid jax-rs method</li>
</ul>
Valid means it is in the set {@link #REST_METHODS}
Returns the rest method . <p / > Iterates over the annotations and look for an annotation that is annotated with HttpMethod .