Java tutorial
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Main { /** * Gets a method and forces it to be accessible, even if it is not. * * @param clazz The class from which the method will be got. * @param methodName The name of the method. * @param parameterTypes The parameter types that the method must match. * @return The method, if it is found. * @since 2.0.7 */ public static Method getForcedAccessibleMethod(Class<?> clazz, String methodName, Class<?>... parameterTypes) { Method method; try { method = clazz.getMethod(methodName, parameterTypes); } catch (SecurityException e) { throw new RuntimeException("Cannot access method '" + methodName + "' in class '" + clazz.getName() + "' for security reasons", e); } catch (NoSuchMethodException e) { throw new RuntimeException( "The method '" + methodName + "' in class '" + clazz.getName() + "' does not exist", e); } if (!method.isAccessible()) { method.setAccessible(true); } return method; } }