home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / lang / reflect / AccessibleObject.class (.txt) next >
Encoding:
Java Class File  |  1979-12-31  |  1.6 KB  |  59 lines

  1. package java.lang.reflect;
  2.  
  3. import java.security.Permission;
  4.  
  5. public class AccessibleObject {
  6.    private static final Permission ACCESS_PERMISSION = new ReflectPermission("suppressAccessChecks");
  7.    private boolean override;
  8.    // $FF: synthetic field
  9.    static Class class$java$lang$Class;
  10.  
  11.    public static void setAccessible(AccessibleObject[] var0, boolean var1) throws SecurityException {
  12.       SecurityManager var2 = System.getSecurityManager();
  13.       if (var2 != null) {
  14.          var2.checkPermission(ACCESS_PERMISSION);
  15.       }
  16.  
  17.       for(int var3 = 0; var3 < var0.length; ++var3) {
  18.          setAccessible0(var0[var3], var1);
  19.       }
  20.  
  21.    }
  22.  
  23.    public void setAccessible(boolean var1) throws SecurityException {
  24.       SecurityManager var2 = System.getSecurityManager();
  25.       if (var2 != null) {
  26.          var2.checkPermission(ACCESS_PERMISSION);
  27.       }
  28.  
  29.       setAccessible0(this, var1);
  30.    }
  31.  
  32.    private static void setAccessible0(AccessibleObject var0, boolean var1) throws SecurityException {
  33.       if (var0 instanceof Constructor && var1) {
  34.          Constructor var2 = (Constructor)var0;
  35.          if (var2.getDeclaringClass() == (class$java$lang$Class == null ? (class$java$lang$Class = class$("java.lang.Class")) : class$java$lang$Class)) {
  36.             throw new SecurityException("Can not make a java.lang.Class constructor accessible");
  37.          }
  38.       }
  39.  
  40.       var0.override = var1;
  41.    }
  42.  
  43.    public boolean isAccessible() {
  44.       return this.override;
  45.    }
  46.  
  47.    protected AccessibleObject() {
  48.    }
  49.  
  50.    // $FF: synthetic method
  51.    static Class class$(String var0) {
  52.       try {
  53.          return Class.forName(var0);
  54.       } catch (ClassNotFoundException var2) {
  55.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  56.       }
  57.    }
  58. }
  59.