Java™ Platform
Standard Ed. 6

java.sql
Class SQLPermission

java.lang.Object
  extended by java.security.Permission
      extended by java.security.BasicPermission
          extended by java.sql.SQLPermission
All Implemented Interfaces:
Serializable, Guard

public final class SQLPermission
extends BasicPermission

The permission for which the SecurityManager will check when code that is running in an applet calls the DriverManager.setLogWriter method or the DriverManager.setLogStream (deprecated) method. If there is no SQLPermission object, these methods throw a java.lang.SecurityException as a runtime exception.

A SQLPermission object contains a name (also referred to as a "target name") but no actions list; there is either a named permission or there is not. The target name is the name of the permission (see below). The naming convention follows the hierarchical property naming convention. In addition, an asterisk may appear at the end of the name, following a ".", or by itself, to signify a wildcard match. For example: loadLibrary.* or * is valid, but *loadLibrary or a*b is not valid.

The following table lists all the possible SQLPermission target names. Currently, the only name allowed is setLog. The table gives a description of what the permission allows and a discussion of the risks of granting code the permission.

Permission Target Name What the Permission Allows Risks of Allowing this Permission
setLog Setting of the logging stream This is a dangerous permission to grant. The contents of the log may contain usernames and passwords, SQL statements, and SQL data.
The person running an applet decides what permissions to allow and will run the Policy Tool to create an SQLPermission in a policy file. A programmer does not use a constructor directly to create an instance of SQLPermission but rather uses a tool.

Since:
1.3
See Also:
BasicPermission, Permission, Permissions, PermissionCollection, SecurityManager, Serialized Form

Constructor Summary
SQLPermission(String name)
          Creates a new SQLPermission object with the specified name.
SQLPermission(String name, String actions)
          Creates a new SQLPermission object with the specified name.
 
Method Summary
 
Methods inherited from class java.security.BasicPermission
equals, getActions, hashCode, implies, newPermissionCollection
 
Methods inherited from class java.security.Permission
checkGuard, getName, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SQLPermission

public SQLPermission(String name)
Creates a new SQLPermission object with the specified name. The name is the symbolic name of the SQLPermission; currently, the only name allowed is "setLog".

Parameters:
name - the name of this SQLPermission object, which must be setLog
Throws:
NullPointerException - if name is null.
IllegalArgumentException - if name is empty.

SQLPermission

public SQLPermission(String name,
                     String actions)
Creates a new SQLPermission object with the specified name. The name is the symbolic name of the SQLPermission; the actions String is currently unused and should be null.

Parameters:
name - the name of this SQLPermission object, which must be setLog
actions - should be null
Throws:
NullPointerException - if name is null.
IllegalArgumentException - if name is empty.

Java™ Platform
Standard Ed. 6

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.