< prev index next >

src/java.base/share/classes/java/security/ProtectionDomain.java

Print this page




 350                 }
 351             } else {
 352                 try {
 353                     sm.checkPermission(SecurityConstants.GET_POLICY_PERMISSION);
 354                     return true;
 355                 } catch (SecurityException se) {
 356                     // fall thru and return false
 357                 }
 358             }
 359         }
 360 
 361         return false;
 362     }
 363 
 364     private PermissionCollection mergePermissions() {
 365         if (staticPermissions)
 366             return permissions;
 367 
 368         PermissionCollection perms =
 369             java.security.AccessController.doPrivileged
 370             (new java.security.PrivilegedAction<PermissionCollection>() {
 371                     public PermissionCollection run() {
 372                         Policy p = Policy.getPolicyNoCheck();
 373                         return p.getPermissions(ProtectionDomain.this);
 374                     }
 375                 });
 376 
 377         Permissions mergedPerms = new Permissions();
 378         int swag = 32;
 379         int vcap = 8;
 380         Enumeration<Permission> e;
 381         List<Permission> pdVector = new ArrayList<>(vcap);
 382         List<Permission> plVector = new ArrayList<>(swag);
 383 
 384         //
 385         // Build a vector of domain permissions for subsequent merge
 386         if (permissions != null) {
 387             synchronized (permissions) {
 388                 e = permissions.elements();
 389                 while (e.hasMoreElements()) {
 390                     pdVector.add(e.nextElement());




 350                 }
 351             } else {
 352                 try {
 353                     sm.checkPermission(SecurityConstants.GET_POLICY_PERMISSION);
 354                     return true;
 355                 } catch (SecurityException se) {
 356                     // fall thru and return false
 357                 }
 358             }
 359         }
 360 
 361         return false;
 362     }
 363 
 364     private PermissionCollection mergePermissions() {
 365         if (staticPermissions)
 366             return permissions;
 367 
 368         PermissionCollection perms =
 369             java.security.AccessController.doPrivileged
 370             (new java.security.PrivilegedAction<>() {
 371                     public PermissionCollection run() {
 372                         Policy p = Policy.getPolicyNoCheck();
 373                         return p.getPermissions(ProtectionDomain.this);
 374                     }
 375                 });
 376 
 377         Permissions mergedPerms = new Permissions();
 378         int swag = 32;
 379         int vcap = 8;
 380         Enumeration<Permission> e;
 381         List<Permission> pdVector = new ArrayList<>(vcap);
 382         List<Permission> plVector = new ArrayList<>(swag);
 383 
 384         //
 385         // Build a vector of domain permissions for subsequent merge
 386         if (permissions != null) {
 387             synchronized (permissions) {
 388                 e = permissions.elements();
 389                 while (e.hasMoreElements()) {
 390                     pdVector.add(e.nextElement());


< prev index next >