## Uses of Class
java.security.ProtectionDomain

- Packages that use ProtectionDomain
  Package | Description
  --- | ---
  java.lang | Provides classes that are fundamental to the design of the Java programming language.
  java.lang.instrument | Provides services that allow Java programming language agents to instrument programs running on the JVM.
  java.security | Provides the classes and interfaces for the security framework.
  javax.security.auth | This package provides a framework for authentication and authorization.

- - ### Uses of ProtectionDomain in java.lang

    Methods in java.lang that return ProtectionDomain
    Modifier and Type | Method | Description
    --- | --- | ---
    `ProtectionDomain` | Class.`getProtectionDomain()` | Returns the `ProtectionDomain` of this class.

    Methods in java.lang with parameters of type ProtectionDomain
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Class<?>` | ClassLoader.`defineClass​(String name, byte[] b, int off, int len, ProtectionDomain protectionDomain)` | Converts an array of bytes into an instance of class `Class`, with a given `ProtectionDomain`.
    `protected Class<?>` | ClassLoader.`defineClass​(String name, ByteBuffer b, ProtectionDomain protectionDomain)` | Converts a `ByteBuffer` into an instance of class `Class`, with the given `ProtectionDomain`.

  - ### Uses of ProtectionDomain in java.lang.instrument

    Methods in java.lang.instrument with parameters of type ProtectionDomain
    Modifier and Type | Method | Description
    --- | --- | ---
    `default byte[]` | ClassFileTransformer.`transform​(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer)` | Transforms the given class file and returns a new replacement class file.
    `default byte[]` | ClassFileTransformer.`transform​(Module module, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer)` | Transforms the given class file and returns a new replacement class file.

  - ### Uses of ProtectionDomain in java.security

    Methods in java.security that return ProtectionDomain
    Modifier and Type | Method | Description
    --- | --- | ---
    `ProtectionDomain[]` | DomainCombiner.`combine​(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)` | Modify or update the provided ProtectionDomains.

    Methods in java.security with parameters of type ProtectionDomain
    Modifier and Type | Method | Description
    --- | --- | ---
    `ProtectionDomain[]` | DomainCombiner.`combine​(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)` | Modify or update the provided ProtectionDomains.
    `protected PermissionCollection` | PolicySpi.`engineGetPermissions​(ProtectionDomain domain)` | Return a PermissionCollection object containing the set of permissions granted to the specified ProtectionDomain.
    `protected abstract boolean` | PolicySpi.`engineImplies​(ProtectionDomain domain, Permission permission)` | Check whether the policy has granted a Permission to a ProtectionDomain.
    `PermissionCollection` | Policy.`getPermissions​(ProtectionDomain domain)` | Return a PermissionCollection object containing the set of permissions granted to the specified ProtectionDomain.
    `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 ProtectionDomain
    Constructor | Description
    --- | ---
    `AccessControlContext​(ProtectionDomain[] context)` | Create an AccessControlContext with the given array of ProtectionDomains.

  - ### Uses of ProtectionDomain in javax.security.auth

    Methods in javax.security.auth that return ProtectionDomain
    Modifier and Type | Method | Description
    --- | --- | ---
    `ProtectionDomain[]` | SubjectDomainCombiner.`combine​(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)` | Update the relevant ProtectionDomains with the Principals from the `Subject` associated with this `SubjectDomainCombiner`.

    Methods in javax.security.auth with parameters of type ProtectionDomain
    Modifier and Type | Method | Description
    --- | --- | ---
    `ProtectionDomain[]` | SubjectDomainCombiner.`combine​(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)` | Update the relevant ProtectionDomains with the Principals from the `Subject` associated with this `SubjectDomainCombiner`.