## Uses of Class
java.security.ProtectionDomain

Packages that use ProtectionDomain
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
`ProtectionDomain` Class.`getProtectionDomain()` Returns the `ProtectionDomain` of this class.

Methods in java.lang with parameters of type ProtectionDomain
`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
`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
`ProtectionDomain[]` DomainCombiner.`combine​(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)` Modify or update the provided ProtectionDomains.

Methods in java.security with parameters of type ProtectionDomain
`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
`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
`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
`ProtectionDomain[]` SubjectDomainCombiner.`combine​(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)` Update the relevant ProtectionDomains with the Principals from the `Subject` associated with this `SubjectDomainCombiner`.