Java Reflection Method Parameter getMethod(Class type, String name, Class... parametersType)

Here you can find the source of getMethod(Class type, String name, Class... parametersType)

Description

Retrieve a method from a given class or one of its superclass.

License

Open Source License

Parameter

Parameter Description
type the class for which we want to retrieve the Method
name the name of the method
parametersType the parameters type of the method

Declaration

public static Method getMethod(Class<?> type, String name, Class<?>... parametersType)
        throws NoSuchMethodException 

Method Source Code

//package com.java2s;
/**//  w  w  w  .  j  a  v  a2 s . c o m
 * This file is part of the JCROM project.
 * Copyright (C) 2008-2015 - All rights reserved.
 * Authors: Olafur Gauti Gudmundsson, Nicolas Dos Santos
 *
 * 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 {
    /**
     * Retrieve a method from a given class or one of its superclass.
     *
     * @param type the class for which we want to retrieve the Method
     * @param name the name of the method
     * @param parametersType the parameters type of the method
     * @return {@link Method}
     */
    public static Method getMethod(Class<?> type, String name, Class<?>... parametersType)
            throws NoSuchMethodException {
        try {
            return type.getMethod(name, parametersType);
        } catch (NoSuchMethodException e) {
            if (!Object.class.equals(type.getSuperclass())) {
                return getMethod(type.getSuperclass(), name, parametersType);
            }
            throw new NoSuchMethodException();
        }
    }
}

Related

  1. getMethod(Class declaringClass, String name, Class... parameterTypes)
  2. getMethod(Class declaringType, String methodName, Class... parameterTypes)
  3. getMethod(Class instance, String method, Class... parameters)
  4. getMethod(Class sourceClass, boolean isFindDeclaredMethod, boolean isUpwardFind, String methodName, Class... methodParameterTypes)
  5. getMethod(Class target, String methodName, Class... parameterTypes)
  6. getMethod(Class type, String name, Class... parameterTypes)
  7. getMethod(Class type, String name, Class... parameterTypes)
  8. getMethod(Class clazz, String methodName, Class[] parameterTypes)
  9. getMethod(final Class clazz, final String name, final Class... parameterTypes)