# 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