diff options
author | Tom Tromey <tromey@cygnus.com> | 2000-11-27 04:07:48 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2000-11-27 04:07:48 +0000 |
commit | 0cf17a80513e9b637e07a9fadc6717e67750ea53 (patch) | |
tree | 55d0346a0f02ec766a2f9727307c6ef34124d6ac /libjava/java/lang/RuntimePermission.java | |
parent | 2721806e9811dee451f847eba2e9655979ad4065 (diff) | |
download | gcc-0cf17a80513e9b637e07a9fadc6717e67750ea53.zip gcc-0cf17a80513e9b637e07a9fadc6717e67750ea53.tar.gz gcc-0cf17a80513e9b637e07a9fadc6717e67750ea53.tar.bz2 |
Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
* Makefile.am (core_java_source_files): Added
RuntimePermission.java.
* java/lang/RuntimePermission.java: Imported from Classpath.
* java/lang/Thread.java (getContextClassLoader): Now
synchronized. Added security code.
(setContextClassLoader): Likewise.
From-SVN: r37772
Diffstat (limited to 'libjava/java/lang/RuntimePermission.java')
-rw-r--r-- | libjava/java/lang/RuntimePermission.java | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/libjava/java/lang/RuntimePermission.java b/libjava/java/lang/RuntimePermission.java new file mode 100644 index 0000000..40b3da2 --- /dev/null +++ b/libjava/java/lang/RuntimePermission.java @@ -0,0 +1,153 @@ +/* RuntimePermission.java + Copyright (C) 1998 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 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); + } +} |