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

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
    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

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

    Constructors
    Constructor
    Description
    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
    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.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Return Policy parameters.
    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.
    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
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns a Policy object that grants no permissions.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Return the Provider of this policy.
    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
    Deprecated, for removal: This API element is subject to removal in a future version.
    Refreshes/reloads the policy configuration.
    static void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Throws UnsupportedOperationException.

    Methods declared in class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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.