Gets a method and forces it to be accessible, even if it is not. : Modifier « Reflection « Java






Gets a method and forces it to be accessible, even if it is not.

  
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;
  }

}

   
    
  








Related examples in the same category

1.Return true if the integer argument includes the public modifier, false otherwise
2.Return true if the integer argument includes the private modifier, false otherwise.
3.Return true if the integer argument includes the protected modifier,false otherwise.
4.Return true if the integer argument includes the static modifier, false otherwise.
5.Return true if the integer argument includes the final modifier, false otherwise.
6.Return true if the integer argument includes the abstract modifier, false otherwise.
7.Overriding Default Access
8.Listing the Modifiers of a Class Object
9.Listing the Modifiers of a Member Object: Field, Constructor, and Method are all subclasses of Member.
10.Is Accessible
11.Set Accessibility
12.Make field accessible, explicitly setting it accessible
13.find an accessible method passed in
14.Modifier check utility.