mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			154 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			154 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Java
		
	
	
	
| /* RuntimePermission.java
 | |
|    Copyright (C) 1998, 2000 Free Software Foundation, Inc.
 | |
| 
 | |
| This file is part of GNU Classpath.
 | |
| 
 | |
| GNU Classpath is free software; you can redistribute it and/or modify
 | |
| it under the terms of the GNU General Public License as published by
 | |
| the Free Software Foundation; either version 2, or (at your option)
 | |
| any later version.
 | |
|  
 | |
| GNU Classpath is distributed in the hope that it will be useful, but
 | |
| WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | |
| General Public License for more details.
 | |
| 
 | |
| You should have received a copy of the GNU General Public License
 | |
| along with GNU Classpath; see the file COPYING.  If not, write to the
 | |
| Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 | |
| 02111-1307 USA.
 | |
| 
 | |
| As a special exception, if you link this library with other files to
 | |
| produce an executable, this library does not by itself cause the
 | |
| resulting executable to be covered by the GNU General Public License.
 | |
| This exception does not however invalidate any other reasons why the
 | |
| executable file might be covered by the GNU General Public License. */
 | |
| 
 | |
| 
 | |
| package java.lang;
 | |
| 
 | |
| import java.security.*;
 | |
| 
 | |
| /**
 | |
|  * A <code>RuntimePermission</code> contains a permission name, but no
 | |
|  * actions list.  This means you either have the permission or you don't.
 | |
|  *
 | |
|  * Permission names have the follow the hierarchial property naming
 | |
|  * convention.  In addition, an asterisk may appear at the end of a 
 | |
|  * name if following a period or by itself.
 | |
|  *
 | |
|  * <table border=1>
 | |
|  * <tr><th>Valid names</th><th>Invalid names</th></tr>
 | |
|  * <tr><td>"accessClassInPackage.*","*"</td>
 | |
|  * <td>"**", "*x", "*.a"</td></tr>
 | |
|  * </table>
 | |
|  * <br> 
 | |
|  * 
 | |
|  * The following table provides a list of all the possible RuntimePermission
 | |
|  * permission names with a description of what that permission allows.
 | |
|  * <br>
 | |
|  * <table border=1>
 | |
|  * <tr><th>Permission Name</th><th>Permission Allows</th></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>createClassLoader</code></td>
 | |
|  *   <td>creation of a class loader</td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>getClassLoader</code></td>
 | |
|  *   <td>retrieval of the class loader for the calling class</td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>setContextClassLoader</code></td>
 | |
|  *   <td>allows the setting of the context class loader used by a 
 | |
|  *       thread including system threads</td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>setSecurityManager</code></td>
 | |
|  *   <td>allows the application to replace the security manager with
 | |
|  *       another, possibly less restrictive one.</td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>createSecurityManager</code></td>
 | |
|  *   <td>allows the application to create a new security manager</td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>exitVM</code></td>
 | |
|  *   <td>allows the application to halt the virtual machine</td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>setFactory</code></td>
 | |
|  *   <td>allows the application to set the socket factory for socket, 
 | |
|  *       server socket, stream handler, or RMI socket factory.</td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>setIO</code></td>
 | |
|  *   <td>allows the application to set System.out, System.in, and 
 | |
|  *       System.err</td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>modifyThread</code></td>
 | |
|  *   <td>allows the application to modify any thread in the virtual machine
 | |
|  *       using any of the methods <code>stop</code>, <code>resume</code>,
 | |
|  *       <code>suspend</code>, <code>setPriority</code>, and 
 | |
|  *       <code>setName</code> of classs <code>Thread</code></td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>stopThread</code></td>
 | |
|  *   <td>allows the application to <code>stop</code> any thread it has
 | |
|  *       access to in the system</td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>modifyThreadGroup</td>
 | |
|  *   <td>allows the application to modify thread groups using any of the
 | |
|  *       methods <code>destroy</code>, <code>resume</code>, 
 | |
|  *       <code>setDaemon</code>, <code>setMaxPriority</code>, 
 | |
|  *       <code>stop</code>, and <code>suspend</code> of the class
 | |
|  *       <code>ThreadGroup</code></td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>getProtectionDomain</code></td>
 | |
|  *   <td></td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>readFileDescriptor</code></td>
 | |
|  *   <td></td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>writeFileDescriptor</code</td>
 | |
|  *   <td></td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>loadLibrary.{library name}</code></td>
 | |
|  *   <td></td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>accessClassInPackage.{package name}</code></td>
 | |
|  *   <td></td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>defineClassInPackage.{package name}</code></td>
 | |
|  *   <td></td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>accessDeclaredMembers</code></td>
 | |
|  *   <td></td></tr>
 | |
|  * <tr>
 | |
|  *   <td><code>queuePrintJob</code></td>
 | |
|  *   <td></td></tr>
 | |
|  * </table>
 | |
|  * 
 | |
|  * @since JDK 1.2
 | |
|  * 
 | |
|  * @author Brian Jones
 | |
|  */
 | |
| public final class RuntimePermission extends java.security.BasicPermission
 | |
| {
 | |
|   /**
 | |
|    * 
 | |
|    * @param permissionName the name of the granted permission
 | |
|    * 
 | |
|    * @throws IllegalArgumentException thrown if the name contains an invalid 
 | |
|    * wildcard character
 | |
|    */
 | |
|   public RuntimePermission(String permissionName)
 | |
|     {
 | |
|       this(permissionName, null);
 | |
|     }
 | |
| 
 | |
|   /**
 | |
|    *
 | |
|    * @param permissionName the name of the granted permission
 | |
|    * @param actions this should always be null
 | |
|    * 
 | |
|    * @throws IllegalArgumentException throw if the name contains an invalid
 | |
|    * wildcard character
 | |
|    */
 | |
|   public RuntimePermission(String permissionName, String actions)
 | |
|     {
 | |
|       super(permissionName, actions);
 | |
|     }
 | |
| }
 |