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
27package java.security;
28
29
30/**
31 * Legacy security code; do not use.
32 */
33public final class AccessController {
34
35    private AccessController() { }
36
37    /**
38     * Calls {@code action.run()}.
39     */
40    public static <T> T doPrivileged(PrivilegedAction<T> action) {
41        return action.run();
42    }
43
44    /**
45     * Calls {@code action.run()}.
46     */
47    public static <T> T doPrivilegedWithCombiner(PrivilegedAction<T> action) {
48        return action.run();
49    }
50
51
52    /**
53     * Calls {@code action.run()}.
54     */
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
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     */
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
89        doPrivileged(PrivilegedExceptionAction<T> action,
90                     AccessControlContext context)
91        throws PrivilegedActionException {
92        return doPrivileged(action);
93    }
94
95    public static AccessControlContext getContext() {
96        return new AccessControlContext(null);
97    }
98
99    public static void checkPermission(Permission perm)
100                 throws AccessControlException {
101    }
102}
103