PolicySpi (Java SE 25 & JDK 25)
Description: declaration: module: java.base, package: java.security, class: PolicySpi
Keywords: java.security.PolicySpi class

# Class PolicySpi

java.lang.Object
java.security.PolicySpi

@Deprecated(since="17", forRemoval=true) public abstract class PolicySpi extends Object
Deprecated, for removal: This API element is subject to removal in a future version.
This class was only useful in conjunction with the Security Manager, which is no longer supported. There is no replacement for the Security Manager or this class.
This class defines the Service Provider Interface (SPI) for the `Policy` class. Installing a system-wide `Policy` object is no longer supported.

Since:
  1.6

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PolicySpi()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected PermissionCollection`
  `engineGetPermissions(CodeSource codesource)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Return a PermissionCollection object containing the set of permissions granted to the specified CodeSource.
  `protected PermissionCollection`
  `engineGetPermissions(ProtectionDomain domain)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Return a PermissionCollection object containing the set of permissions granted to the specified ProtectionDomain.
  `protected abstract boolean`
  `engineImplies(ProtectionDomain domain, Permission permission)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Check whether the policy has granted a Permission to a ProtectionDomain.
  `protected void`
  `engineRefresh()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Refreshes/reloads the policy configuration.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### PolicySpi

    public PolicySpi()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Constructor.

- ## Method Details

  - ### engineImplies

    protected abstract boolean engineImplies(ProtectionDomain domain, Permission permission)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Check whether the policy has granted a Permission to a ProtectionDomain.
    Parameters:
      `domain` - the ProtectionDomain to check
      `permission` - check whether this permission is granted to the specified domain
    Returns:
      boolean `true` if the permission is granted to the domain

  - ### engineRefresh

    protected void engineRefresh()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Refreshes/reloads the policy configuration.

    The default implementation of this method does nothing.

  - ### engineGetPermissions

    protected PermissionCollection engineGetPermissions(CodeSource codesource)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Return a PermissionCollection object containing the set of permissions granted to the specified CodeSource.

    The default implementation of this method returns Policy.UNSUPPORTED_EMPTY_COLLECTION object.

    Parameters:
      `codesource` - the CodeSource to which the returned PermissionCollection has been granted
    Returns:
      a set of permissions granted to the specified CodeSource

  - ### engineGetPermissions

    protected PermissionCollection engineGetPermissions(ProtectionDomain domain)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Return a PermissionCollection object containing the set of permissions granted to the specified ProtectionDomain.

    The default implementation of this method returns Policy.UNSUPPORTED_EMPTY_COLLECTION object.

    Parameters:
      `domain` - the ProtectionDomain to which the returned PermissionCollection has been granted
    Returns:
      a set of permissions granted to the specified ProtectionDomain