PolicySpi (Java SE 26 & JDK 26)
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`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## 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