home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / swing / AccessibleMethod.class (.txt) next >
Encoding:
Java Class File  |  2006-11-29  |  1.2 KB  |  39 lines

  1. package sun.swing;
  2.  
  3. import java.lang.reflect.InvocationTargetException;
  4. import java.lang.reflect.Method;
  5. import java.security.AccessController;
  6. import java.security.PrivilegedActionException;
  7.  
  8. public class AccessibleMethod {
  9.    private final Method method;
  10.  
  11.    public AccessibleMethod(Class var1, String var2, Class... var3) throws NoSuchMethodException {
  12.       try {
  13.          this.method = (Method)AccessController.doPrivileged(new AccessMethodAction(var1, var2, var3));
  14.       } catch (PrivilegedActionException var5) {
  15.          throw (NoSuchMethodException)var5.getCause();
  16.       }
  17.    }
  18.  
  19.    public Object invoke(Object var1, Object... var2) throws IllegalArgumentException, InvocationTargetException {
  20.       try {
  21.          return this.method.invoke(var1, var2);
  22.       } catch (IllegalAccessException var4) {
  23.          throw new AssertionError("accessible method inaccessible");
  24.       }
  25.    }
  26.  
  27.    public Object invokeNoChecked(Object var1, Object... var2) {
  28.       try {
  29.          return this.invoke(var1, var2);
  30.       } catch (InvocationTargetException var4) {
  31.          if (var4.getCause() instanceof RuntimeException) {
  32.             throw (RuntimeException)var4.getCause();
  33.          } else {
  34.             throw new RuntimeException(var4.getCause());
  35.          }
  36.       }
  37.    }
  38. }
  39.