1 /* 2 * Copyright (C) 2014 The Android Open Source Project 3 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 5 * 6 * This code is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License version 2 only, as 8 * published by the Free Software Foundation. Oracle designates this 9 * particular file as subject to the "Classpath" exception as provided 10 * by Oracle in the LICENSE file that accompanied this code. 11 * 12 * This code is distributed in the hope that it will be useful, but WITHOUT 13 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 14 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15 * version 2 for more details (a copy is included in the LICENSE file that 16 * accompanied this code). 17 * 18 * You should have received a copy of the GNU General Public License version 19 * 2 along with this work; if not, write to the Free Software Foundation, 20 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 21 * 22 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 23 * or visit www.oracle.com if you need additional information or have any 24 * questions. 25 */ 26 27 package java.security; 28 29 30 /** 31 * Legacy security code; do not use. 32 */ 33 public final class AccessController { 34 AccessController()35 private AccessController() { } 36 37 /** 38 * Calls {@code action.run()}. 39 */ doPrivileged(PrivilegedAction<T> action)40 public static <T> T doPrivileged(PrivilegedAction<T> action) { 41 return action.run(); 42 } 43 44 /** 45 * Calls {@code action.run()}. 46 */ doPrivilegedWithCombiner(PrivilegedAction<T> action)47 public static <T> T doPrivilegedWithCombiner(PrivilegedAction<T> action) { 48 return action.run(); 49 } 50 51 52 /** 53 * Calls {@code action.run()}. 54 */ doPrivileged(PrivilegedAction<T> action, AccessControlContext context)55 public static <T> T doPrivileged(PrivilegedAction<T> action, 56 AccessControlContext context) { 57 return action.run(); 58 } 59 60 /** 61 * Calls {@code action.run()}. 62 */ 63 public static <T> T doPrivileged(PrivilegedExceptionAction<T> action)64 doPrivileged(PrivilegedExceptionAction<T> action) 65 throws PrivilegedActionException { 66 try { 67 return action.run(); 68 } catch (RuntimeException e) { 69 throw e; 70 } catch (Exception e) { 71 throw new PrivilegedActionException(e); 72 } 73 } 74 75 76 /** 77 * Calls {@code action.run()}. 78 */ doPrivilegedWithCombiner(PrivilegedExceptionAction<T> action)79 public static <T> T doPrivilegedWithCombiner 80 (PrivilegedExceptionAction<T> action) throws PrivilegedActionException { 81 return doPrivileged(action); 82 } 83 84 85 /** 86 * Calls {@code action.run()}. 87 */ 88 public static <T> T doPrivileged(PrivilegedExceptionAction<T> action, AccessControlContext context)89 doPrivileged(PrivilegedExceptionAction<T> action, 90 AccessControlContext context) 91 throws PrivilegedActionException { 92 return doPrivileged(action); 93 } 94 getContext()95 public static AccessControlContext getContext() { 96 return new AccessControlContext(null); 97 } 98 checkPermission(Permission perm)99 public static void checkPermission(Permission perm) 100 throws AccessControlException { 101 } 102 } 103