Java Reflection Method Parameter getMethod(Class clazz, String methodName, Class[] parameterTypes)

Here you can find the source of getMethod(Class clazz, String methodName, Class[] parameterTypes)

Description

This method return the list of method of any class.

License

Apache License

Parameter

Parameter Description
clazz Class
methodName String
parameterTypes Class[]

Exception

Parameter Description
SecurityException an exception
NoSuchMethodException an exception

Return

Method

Declaration

private static <T, Y> Method getMethod(Class<T> clazz, String methodName, Class<Y>[] parameterTypes)
        throws SecurityException, NoSuchMethodException 

Method Source Code

//package com.java2s;
/* Copyright 2010 Google Inc.
 * //  w  w w  .  j  a  v a  2  s .  c om
 * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS.
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License
 */

import java.lang.reflect.Method;

public class Main {
    /**
     * This method return the list of method of any class.
     * 
     * @param clazz Class
     * @param methodName String
     * @param parameterTypes Class[]
     * @return Method
     * @throws SecurityException
     * @throws NoSuchMethodException
     */
    private static <T, Y> Method getMethod(Class<T> clazz, String methodName, Class<Y>[] parameterTypes)
            throws SecurityException, NoSuchMethodException {
        Method method = null;
        try {
            method = clazz.getMethod(methodName, parameterTypes);
        } catch (NoSuchMethodException e) {
            if (methodName.startsWith("get")) {
                methodName = methodName.replaceFirst("get", "is");
            } else if (methodName.startsWith("is")) {
                methodName = methodName.replaceFirst("get", "is");
            }

            method = clazz.getMethod(methodName, parameterTypes);
        }

        return method;
    }
}

Related

  1. getMethod(Class sourceClass, boolean isFindDeclaredMethod, boolean isUpwardFind, String methodName, Class... methodParameterTypes)
  2. getMethod(Class target, String methodName, Class... parameterTypes)
  3. getMethod(Class type, String name, Class... parametersType)
  4. getMethod(Class type, String name, Class... parameterTypes)
  5. getMethod(Class type, String name, Class... parameterTypes)
  6. getMethod(final Class clazz, final String name, final Class... parameterTypes)
  7. getMethod(final Class javaClass, final String methodName, final Class[] methodParameterTypes, final boolean shouldSetAccessible)
  8. getMethod(final Class aClass, final String methodName, Class[] parameterTypes)
  9. getMethod(final Class clazz, final String methodName, final Class... parameterTypes)