## Uses of Class
java.security.Permission

Packages that use Permission
java.awt: Contains all of the classes for creating user interfaces and for painting graphics and images.
java.io: Provides for system input and output through data streams, serialization and the file system.
java.lang: Provides classes that are fundamental to the design of the Java programming language.
java.lang.management: Provides the management interfaces for monitoring and management of the Java virtual machine and other components in the Java runtime.
java.lang.reflect: Provides classes and interfaces for obtaining reflective information about classes and objects.
java.net: Provides the classes for implementing networking applications.
java.nio.file: Defines interfaces and classes for the Java virtual machine to access files, file attributes, and file systems.
java.security: Provides the classes and interfaces for the security framework.
java.sql: Provides the API for accessing and processing data stored in a data source (usually a relational database) using the JavaTM programming language.
java.util: Contains the collections framework, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a random-number generator, and a bit array).
java.util.logging: Provides the classes and interfaces of the JavaTM 2 platform's core logging facilities.
javax.management: Provides the core classes for the Java Management Extensions.
javax.management.remote: Interfaces for remote access to JMX MBean servers.
javax.net.ssl: Provides classes for the secure socket package.
javax.security.auth: This package provides a framework for authentication and authorization.
javax.security.auth.kerberos: This package contains utility classes related to the Kerberos network authentication protocol.
javax.sound.sampled: Provides interfaces and classes for capture, processing, and playback of sampled audio data.
javax.xml.bind: Provides a runtime binding framework for client applications including unmarshalling, marshalling, and validation capabilities.
javax.xml.ws: This package contains the core JAX-WS APIs.

### Uses of Permission in java.awt

Subclasses of Permission in java.awt
`class` `AWTPermission` This class is for AWT permissions.

### Uses of Permission in java.io

Subclasses of Permission in java.io
`class` `FilePermission` This class represents access to a file or directory.
`class` `SerializablePermission` This class is for Serializable permissions.

Methods in java.io with parameters of type Permission
`boolean` FilePermission.`implies(Permission p)` Checks if this FilePermission object "implies" the specified permission.

### Uses of Permission in java.lang

Subclasses of Permission in java.lang
`class` `RuntimePermission` This class is for runtime permissions.

Methods in java.lang with parameters of type Permission
`void` SecurityManager.`checkPermission(Permission perm)` Throws a `SecurityException` if the requested access, specified by the given permission, is not permitted based on the security policy currently in effect.
`void` SecurityManager.`checkPermission(Permission perm, Object context)` Throws a `SecurityException` if the specified security context is denied access to the resource specified by the given permission.

### Uses of Permission in java.lang.management

Subclasses of Permission in java.lang.management
`class` `ManagementPermission` The permission which the SecurityManager will check when code that is running with a SecurityManager calls methods defined in the management interface for the Java platform.

### Uses of Permission in java.lang.reflect

Subclasses of Permission in java.lang.reflect
`class` `ReflectPermission` The Permission class for reflective operations.

### Uses of Permission in java.net

Subclasses of Permission in java.net
`class` `NetPermission` This class is for various network permissions.
`class` `SocketPermission` This class represents access to a network via sockets.
`class` `URLPermission` Represents permission to access a resource or set of resources defined by a given url, and for a given set of user-settable request methods and request headers.

Methods in java.net that return Permission
`Permission` HttpURLConnection.`getPermission()` Returns a `SocketPermission` object representing the permission necessary to connect to the destination host and port.
`Permission` URLConnection.`getPermission()` Returns a permission object representing the permission necessary to make the connection represented by this object.

Methods in java.net with parameters of type Permission
`boolean` SocketPermission.`implies(Permission p)` Checks if this socket permission object "implies" the specified permission.
`boolean` URLPermission.`implies(Permission p)` Checks if this URLPermission implies the given permission.

### Uses of Permission in java.nio.file

Subclasses of Permission in java.nio.file
`class` `LinkPermission` The `Permission` class for link creation operations.

### Uses of Permission in java.security

Subclasses of Permission in java.security
`class` `AllPermission` The AllPermission is a permission that implies all other permissions.
`class` `BasicPermission` The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
`class` `SecurityPermission` This class is for security permissions.
`class` `UnresolvedPermission` The UnresolvedPermission class is used to hold Permissions that were "unresolved" when the Policy was initialized.

Methods in java.security that return Permission
`Permission` AccessControlException.`getPermission()` Gets the Permission object associated with this exception, or null if there was no corresponding Permission object.

Methods in java.security that return types with arguments of type Permission
`abstract Enumeration<Permission>` PermissionCollection.`elements()` Returns an enumeration of all the Permission objects in the collection.
`Enumeration<Permission>` Permissions.`elements()` Returns an enumeration of all the Permission objects in all the PermissionCollections in this Permissions object.

Methods in java.security with parameters of type Permission
`abstract void` PermissionCollection.`add(Permission permission)` Adds a permission object to the current collection of permission objects.
`void` Permissions.`add(Permission permission)` Adds a permission object to the PermissionCollection for the class the permission belongs to.
`void` AccessControlContext.`checkPermission(Permission perm)` Determines whether the access request indicated by the specified permission should be allowed or denied, based on the security policy currently in effect, and the context in this object.
`static void` AccessController.`checkPermission(Permission perm)` Determines whether the access request indicated by the specified permission should be allowed or denied, based on the current AccessControlContext and security policy.
`static <T> T` AccessController.`doPrivileged(PrivilegedAction<T> action, AccessControlContext context, Permission... perms)` Performs the specified `PrivilegedAction` with privileges enabled and restricted by the specified `AccessControlContext` and with a privilege scope limited by specified `Permission` arguments.
`static <T> T` AccessController.`doPrivileged(PrivilegedExceptionAction<T> action, AccessControlContext context, Permission... perms)` Performs the specified `PrivilegedExceptionAction` with privileges enabled and restricted by the specified `AccessControlContext` and with a privilege scope limited by specified `Permission` arguments.
`static <T> T` AccessController.`doPrivilegedWithCombiner(PrivilegedAction<T> action, AccessControlContext context, Permission... perms)` Performs the specified `PrivilegedAction` with privileges enabled and restricted by the specified `AccessControlContext` and with a privilege scope limited by specified `Permission` arguments.
`static <T> T` AccessController.`doPrivilegedWithCombiner(PrivilegedExceptionAction<T> action, AccessControlContext context, Permission... perms)` Performs the specified `PrivilegedExceptionAction` with privileges enabled and restricted by the specified `AccessControlContext` and with a privilege scope limited by specified `Permission` arguments.
`protected abstract boolean` PolicySpi.`engineImplies(ProtectionDomain domain, Permission permission)` Check whether the policy has granted a Permission to a ProtectionDomain.
`abstract boolean` PermissionCollection.`implies(Permission permission)` Checks to see if the specified permission is implied by the collection of Permission objects held in this PermissionCollection.
`abstract boolean` Permission.`implies(Permission permission)` Checks if the specified permission's actions are "implied by" this object's actions.
`boolean` AllPermission.`implies(Permission p)` Checks if the specified permission is "implied" by this object.
`boolean` BasicPermission.`implies(Permission p)` Checks if the specified permission is "implied" by this object.
`boolean` UnresolvedPermission.`implies(Permission p)` This method always returns false for unresolved permissions.
`boolean` ProtectionDomain.`implies(Permission permission)` Check and see if this ProtectionDomain implies the permissions expressed in the Permission object.
`boolean` Permissions.`implies(Permission permission)` Checks to see if this object's PermissionCollection for permissions of the specified permission's class implies the permissions expressed in the permission object.
`boolean` Policy.`implies(ProtectionDomain domain, Permission permission)` Evaluates the global policy for the permissions granted to the ProtectionDomain and tests whether the permission is granted.

Constructors in java.security with parameters of type Permission
Constructor and Description
`AccessControlException(String s, Permission p)` Constructs an `AccessControlException` with the specified, detailed message, and the requested permission that caused the exception.

### Uses of Permission in java.sql

Subclasses of Permission in java.sql

`class`

`SQLPermission`
The permission for which the `SecurityManager` will check when code that is running an application with a `SecurityManager` enabled, calls the `DriverManager.deregisterDriver` method, `DriverManager.setLogWriter` method, `DriverManager.setLogStream` (deprecated) method, `SyncFactory.setJNDIContext` method, `SyncFactory.setLogger` method, `Connection.setNetworktimeout` method, or the `Connection.abort` method.

### Uses of Permission in java.util

Subclasses of Permission in java.util
`class` `PropertyPermission` This class is for property permissions.

Methods in java.util with parameters of type Permission
`boolean` PropertyPermission.`implies(Permission p)` Checks if this PropertyPermission object "implies" the specified permission.

### Uses of Permission in java.util.logging

Subclasses of Permission in java.util.logging
`class` `LoggingPermission` The permission which the SecurityManager will check when code that is running with a SecurityManager calls one of the logging control methods (such as Logger.setLevel).

### Uses of Permission in javax.management

Subclasses of Permission in javax.management
`class` `MBeanPermission` Permission controlling access to MBeanServer operations.
`class` `MBeanServerPermission` A Permission to perform actions related to MBeanServers.
`class` `MBeanTrustPermission` This permission represents "trust" in a signer or codebase.

Methods in javax.management with parameters of type Permission
`boolean` MBeanPermission.`implies(Permission p)` Checks if this MBeanPermission object "implies" the specified permission.
`boolean` MBeanServerPermission.`implies(Permission p)` Checks if this MBeanServerPermission object "implies" the specified permission.

### Uses of Permission in javax.management.remote

Subclasses of Permission in javax.management.remote
`class` `SubjectDelegationPermission` Permission required by an authentication identity to perform operations on behalf of an authorization identity.

### Uses of Permission in javax.net.ssl

Subclasses of Permission in javax.net.ssl
`class` `SSLPermission` This class is for various network permissions.

### Uses of Permission in javax.security.auth

Subclasses of Permission in javax.security.auth
`class` `AuthPermission` This class is for authentication permissions.
`class` `PrivateCredentialPermission` This class is used to protect access to private Credentials belonging to a particular `Subject`.

Methods in javax.security.auth with parameters of type Permission
`boolean` PrivateCredentialPermission.`implies(Permission p)` Checks if this `PrivateCredentialPermission` implies the specified `Permission`.

### Uses of Permission in javax.security.auth.kerberos

Subclasses of Permission in javax.security.auth.kerberos
`class` `DelegationPermission` This class is used to restrict the usage of the Kerberos delegation model, ie: forwardable and proxiable tickets.
`class` `ServicePermission` This class is used to protect Kerberos services and the credentials necessary to access those services.

Methods in javax.security.auth.kerberos with parameters of type Permission
`boolean` ServicePermission.`implies(Permission p)` Checks if this Kerberos service permission object "implies" the specified permission.
`boolean` DelegationPermission.`implies(Permission p)` Checks if this Kerberos delegation permission object "implies" the specified permission.

### Uses of Permission in javax.sound.sampled

Subclasses of Permission in javax.sound.sampled
`class` `AudioPermission` The `AudioPermission` class represents access rights to the audio system resources.

### Uses of Permission in javax.xml.bind

Subclasses of Permission in javax.xml.bind
`class` `JAXBPermission` This class is for JAXB permissions.

### Uses of Permission in javax.xml.ws

Subclasses of Permission in javax.xml.ws
`class` `WebServicePermission` This class defines web service permissions.