Class Policy
@Deprecated(since="17", forRemoval=true) public abstract class Policy extends Object
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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
- Since:
- 1.6
Constructor Details
Policy
public Policy()
Method Details
getPolicy
public static Policy getPolicy()
Policy object that grants no permissions. Specifically: - The
getParametersmethod returnsnull. - The
getPermissions(CodeSource)andgetPermissions(ProtectionDomain)methods return a read-only emptyPermissionCollection. - The
impliesmethod always returnsfalse.
- API Note:
- This method originally returned the installed
Policyobject, or if noPolicyobject had been installed, a defaultPolicyimplementation. Installing a system-widePolicyobject is no longer supported. This method always returns a defaultPolicyobject that grants no permissions. APolicyobject was only useful in conjunction with the Security Manager, which is no longer supported. There is no replacement for this method. - Returns:
- a
Policyobject that grants no permissions - See Also:
setPolicy
public static void setPolicy(Policy p)
UnsupportedOperationException. Setting a system-wide Policy object is not supported.- API Note:
- This method originally installed the system-wide
Policyobject. Installing a system-widePolicyobject is no longer supported. APolicyobject 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
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.preferredSecurityproperty to determine the preferred provider order for the specified algorithm. This may be different than the order of providers returned bySecurity.getProviders(). - Parameters:
-
type- the specified Policy type -
params- parameters for thePolicy, which may benull. - Returns:
- the new
Policyobject - Throws:
-
IllegalArgumentException- if the specified parameters are not understood by thePolicySpiimplementation from the selectedProvider -
NoSuchAlgorithmException- if noProvidersupports aPolicySpiimplementation for the specified type -
NullPointerException- iftypeisnull - Since:
- 1.6
- See Also:
getInstance
public static Policy getInstance(String type, Policy.Parameters params, String provider) throws NoSuchProviderException, NoSuchAlgorithmException
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 thePolicy, which may benull. -
provider- the provider. - Returns:
- the new
Policyobject - Throws:
-
IllegalArgumentException- if the specified provider isnullor empty, or if the specified parameters are not understood by thePolicySpiimplementation from the specified provider -
NoSuchAlgorithmException- if the specified provider does not support aPolicySpiimplementation for the specified type -
NoSuchProviderException- if the specified provider is not registered in the security provider list -
NullPointerException- iftypeisnull - Since:
- 1.6
- See Also:
getInstance
public static Policy getInstance(String type, Policy.Parameters params, Provider provider) throws NoSuchAlgorithmException
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 thePolicy, which may benull. -
provider- theProvider. - Returns:
- the new
Policyobject - Throws:
-
IllegalArgumentException- if the specifiedProviderisnull, or if the specified parameters are not understood by thePolicySpiimplementation from the specifiedProvider -
NoSuchAlgorithmException- if the specifiedProviderdoes not support aPolicySpiimplementation for the specified type -
NullPointerException- iftypeisnull - Since:
- 1.6
- See Also:
getProvider
public Provider getProvider()
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
Providerof this policy, ornull. - Since:
- 1.6
getType
public String getType()
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, ornull. - Since:
- 1.6
getParameters
public Policy.Parameters getParameters()
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:
-
Policyparameters, ornull. - Since:
- 1.6
getPermissions
public PermissionCollection getPermissions(CodeSource 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)
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)
The default implementation of this method ignores the ProtectionDomain and Permission parameters and always returns false.
- Parameters:
-
domain- ignored -
permission- ignored - Returns:
-
falsealways - Since:
- 1.4
- See Also:
refresh
public void refresh()
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
Policyobject is no longer supported. The setPolicy method has been changed to always throwUnsupportedOperationException. The getPolicy method has been changed to always return aPolicyobject that grants no permissions. There is no replacement for the Security Manager or this class.