java.sql

## Class SQLPermission

- java.lang.Object
- - java.security.Permission
  - - java.security.BasicPermission
    - - 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

Constructors
Constructor and Description
`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.

Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.