Initial import
[jpf-core.git] / src / classes / java / security / AccessController.java
1 /*
2  * Copyright (C) 2014, United States Government, as represented by the
3  * Administrator of the National Aeronautics and Space Administration.
4  * All rights reserved.
5  *
6  * The Java Pathfinder core (jpf-core) platform is licensed under the
7  * Apache License, Version 2.0 (the "License"); you may not use this file except
8  * in compliance with the License. You may obtain a copy of the License at
9  * 
10  *        http://www.apache.org/licenses/LICENSE-2.0. 
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and 
16  * limitations under the License.
17  */
18 package java.security;
19
20
21 /*
22  * MJI model class for java.security.AccessController library abstraction
23  */
24 public class AccessController {
25   public static void checkPermission (Permission p) throws AccessControlException {
26   }
27   
28   public static <T> T doPrivileged (PrivilegedAction<T> action,
29                                      AccessControlContext context) {
30     return action.run();
31   }
32   
33   public static <T> T doPrivileged (PrivilegedAction<T> action)  {
34     return action.run();
35   }
36   
37   public static <T> T doPrivileged (PrivilegedExceptionAction<T> action,
38                                      AccessControlContext context)
39     throws PrivilegedActionException {
40
41     try {
42       return action.run();
43       
44     } catch (RuntimeException rx){
45       throw rx; // we have to let unchecked exceptions pass
46     } catch (Exception x) {
47       throw new PrivilegedActionException(x);
48     }
49   }
50   
51   public static <T> T doPrivileged (PrivilegedExceptionAction<T> action)
52     throws PrivilegedActionException {
53
54     try {
55       return action.run();
56
57     } catch (RuntimeException rx){
58       throw rx; // we have to let unchecked exceptions pass
59     } catch (Exception x) {
60       throw new PrivilegedActionException(x);
61     }
62   }
63   
64   public static AccessControlContext getContext() {
65     return null;
66   }
67   
68   @SuppressWarnings("unused")
69   private static AccessControlContext getStackAccessControlContext() {
70     return null;
71   }
72
73   static AccessControlContext getInheritedAccessControlContext() {
74     return null;
75   }
76
77 }
78