aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/RuntimePermission.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/lang/RuntimePermission.java')
-rw-r--r--libjava/java/lang/RuntimePermission.java153
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);
+ }
+}