W3cubDocs

/OpenJDK 25

Class Policy

java.lang.Object
java.security.Policy
@Deprecated(since="17", forRemoval=true) public abstract class Policy 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. Installing a system-wide Policy object is no longer supported. The setPolicy method has been changed to always throw UnsupportedOperationException. The getPolicy method has been changed to always return a Policy object that grants no permissions. There is no replacement for the Security Manager or this class.
A Policy object was responsible for determining whether code executing in the Java runtime environment had permission to perform a security-sensitive operation. This feature no longer exists.
Since:
1.2

Nested Class Summary

Modifier and Type Class Description
static interface  Policy.Parameters
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.

Field Summary

Modifier and Type Field Description
static final PermissionCollection UNSUPPORTED_EMPTY_COLLECTION
Deprecated, for removal: This API element is subject to removal in a future version.
A read-only empty PermissionCollection instance.

Constructor Summary

Constructor Description
Policy()
Deprecated, for removal: This API element is subject to removal in a future version.
Constructor for subclasses to call.

Method Summary

Modifier and Type Method Description
static Policy getInstance(String type, Policy.Parameters params)
Deprecated, for removal: This API element is subject to removal in a future version.
Returns a Policy object of the specified type.
static Policy getInstance(String type, Policy.Parameters params, String provider)
Deprecated, for removal: This API element is subject to removal in a future version.
Returns a Policy object of the specified type.
static Policy getInstance(String type, Policy.Parameters params, Provider provider)
Deprecated, for removal: This API element is subject to removal in a future version.
Returns a Policy object of the specified type.
Policy.Parameters getParameters()
Deprecated, for removal: This API element is subject to removal in a future version.
Return Policy parameters.
PermissionCollection getPermissions(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.
PermissionCollection getPermissions(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.
static Policy getPolicy()
Deprecated, for removal: This API element is subject to removal in a future version.
Returns a Policy object that grants no permissions.
Provider getProvider()
Deprecated, for removal: This API element is subject to removal in a future version.
Return the Provider of this policy.
String getType()
Deprecated, for removal: This API element is subject to removal in a future version.
Return the type of this Policy.
boolean implies(ProtectionDomain domain, Permission permission)
Deprecated, for removal: This API element is subject to removal in a future version.
Evaluates the permissions granted to the ProtectionDomain and tests whether the permission is granted.
void refresh()
Deprecated, for removal: This API element is subject to removal in a future version.
Refreshes/reloads the policy configuration.
static void setPolicy(Policy p)
Deprecated, for removal: This API element is subject to removal in a future version.
Throws UnsupportedOperationException.

Field Details

UNSUPPORTED_EMPTY_COLLECTION

public static final PermissionCollection UNSUPPORTED_EMPTY_COLLECTION
Deprecated, for removal: This API element is subject to removal in a future version.
A read-only empty PermissionCollection instance.
Since:
1.6

Constructor Details

Policy

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

Method Details

getPolicy

public static Policy getPolicy()
Deprecated, for removal: This API element is subject to removal in a future version.
Returns a Policy object that grants no permissions. Specifically:
  • The getParameters method returns null.
  • The getPermissions(CodeSource) and getPermissions(ProtectionDomain) methods return a read-only empty PermissionCollection.
  • The implies method always returns false.
API Note:
This method originally returned the installed Policy object, or if no Policy object had been installed, a default Policy implementation. Installing a system-wide Policy object is no longer supported. This method always returns a default Policy object that grants no permissions. A Policy object was only useful in conjunction with the Security Manager, which is no longer supported. There is no replacement for this method.
Returns:
a Policy object that grants no permissions
See Also:

setPolicy

public static void setPolicy(Policy p)
Deprecated, for removal: This API element is subject to removal in a future version.
Throws UnsupportedOperationException. Setting a system-wide Policy object is not supported.
API Note:
This method originally installed the system-wide Policy object. Installing a system-wide Policy object is no longer supported. A Policy object was only useful in conjunction with the Security Manager, which is no longer supported. There is no replacement for this method.
Parameters:
p - ignored
Throws:
UnsupportedOperationException - always
See Also:

getInstance

public static Policy getInstance(String type, Policy.Parameters params) throws NoSuchAlgorithmException
Deprecated, for removal: This API element is subject to removal in a future version.
Returns a Policy object of the specified type.

This method traverses the list of registered security providers, starting with the most preferred provider. A new Policy object encapsulating the PolicySpi implementation from the first provider that supports the specified type is returned.

Note that the list of registered providers may be retrieved via the Security.getProviders() method.

Implementation Note:
The JDK Reference Implementation additionally uses the jdk.security.provider.preferred Security property to determine the preferred provider order for the specified algorithm. This may be different than the order of providers returned by Security.getProviders().
Parameters:
type - the specified Policy type
params - parameters for the Policy, which may be null.
Returns:
the new Policy object
Throws:
IllegalArgumentException - if the specified parameters are not understood by the PolicySpi implementation from the selected Provider
NoSuchAlgorithmException - if no Provider supports a PolicySpi implementation for the specified type
NullPointerException - if type is null
Since:
1.6
See Also:

getInstance

public static Policy getInstance(String type, Policy.Parameters params, String provider) throws NoSuchProviderException, NoSuchAlgorithmException
Deprecated, for removal: This API element is subject to removal in a future version.
Returns a Policy object of the specified type.

A new Policy object encapsulating the PolicySpi implementation from the specified provider is returned. The specified provider must be registered in the provider list.

Note that the list of registered providers may be retrieved via the Security.getProviders() method.

Parameters:
type - the specified Policy type
params - parameters for the Policy, which may be null.
provider - the provider.
Returns:
the new Policy object
Throws:
IllegalArgumentException - if the specified provider is null or empty, or if the specified parameters are not understood by the PolicySpi implementation from the specified provider
NoSuchAlgorithmException - if the specified provider does not support a PolicySpi implementation for the specified type
NoSuchProviderException - if the specified provider is not registered in the security provider list
NullPointerException - if type is null
Since:
1.6
See Also:

getInstance

public static Policy getInstance(String type, Policy.Parameters params, Provider provider) throws NoSuchAlgorithmException
Deprecated, for removal: This API element is subject to removal in a future version.
Returns a Policy object of the specified type.

A new Policy object encapsulating the PolicySpi implementation from the specified provider is returned. Note that the specified provider does not have to be registered in the provider list.

Parameters:
type - the specified Policy type
params - parameters for the Policy, which may be null.
provider - the Provider.
Returns:
the new Policy object
Throws:
IllegalArgumentException - if the specified Provider is null, or if the specified parameters are not understood by the PolicySpi implementation from the specified Provider
NoSuchAlgorithmException - if the specified Provider does not support a PolicySpi implementation for the specified type
NullPointerException - if type is null
Since:
1.6
See Also:

getProvider

public Provider getProvider()
Deprecated, for removal: This API element is subject to removal in a future version.
Return the Provider of this policy.

This Policy instance will only have a provider if it was obtained via a call to Policy.getInstance. Otherwise this method returns null.

Returns:
the Provider of this policy, or null.
Since:
1.6

getType

public String getType()
Deprecated, for removal: This API element is subject to removal in a future version.
Return the type of this Policy.

This Policy instance will only have a type if it was obtained via a call to Policy.getInstance. Otherwise this method returns null.

Returns:
the type of this Policy, or null.
Since:
1.6

getParameters

public Policy.Parameters getParameters()
Deprecated, for removal: This API element is subject to removal in a future version.
Return Policy parameters.

This Policy instance will only have parameters if it was obtained via a call to Policy.getInstance. Otherwise this method returns null.

Returns:
Policy parameters, or null.
Since:
1.6

getPermissions

public PermissionCollection getPermissions(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 ignores the CodeSource and returns Policy.UNSUPPORTED_EMPTY_COLLECTION.

Parameters:
codesource - ignored
Returns:
a set of permissions granted to the specified CodeSource. If this operation is supported, the returned set of permissions must be a new mutable instance and it must support heterogeneous Permission types. If this operation is not supported, Policy.UNSUPPORTED_EMPTY_COLLECTION is returned.

getPermissions

public PermissionCollection getPermissions(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 ignores the ProtectionDomain and returns Policy.UNSUPPORTED_EMPTY_COLLECTION.

Parameters:
domain - ignored
Returns:
a set of permissions granted to the specified ProtectionDomain. If this operation is supported, the returned set of permissions must be a new mutable instance and it must support heterogeneous Permission types. If this operation is not supported, Policy.UNSUPPORTED_EMPTY_COLLECTION is returned.
Since:
1.4

implies

public boolean implies(ProtectionDomain domain, Permission permission)
Deprecated, for removal: This API element is subject to removal in a future version.
Evaluates the permissions granted to the ProtectionDomain and tests whether the permission is granted.

The default implementation of this method ignores the ProtectionDomain and Permission parameters and always returns false.

Parameters:
domain - ignored
permission - ignored
Returns:
false always
Since:
1.4
See Also:

refresh

public void refresh()
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.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/security/Policy.html