# Class UnresolvedPermission

java.lang.Object
java.security.Permission
java.security.UnresolvedPermission

All Implemented Interfaces:
  `Serializable, Guard`

@Deprecated(since="25", forRemoval=true) public final class UnresolvedPermission extends Permission implements Serializable
Deprecated, for removal: This API element is subject to removal in a future version.
This permission cannot be used for controlling access to resources as the Security Manager is no longer supported.
The `UnresolvedPermission` class used to hold Permissions that were "unresolved" when the `Policy` was initialized. Installing a system-wide `Policy` object is no longer supported.

Since:
  1.2
See Also:
  - `Permission`
  - `Permissions`
  - `PermissionCollection`
  - `Policy`
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `UnresolvedPermission(String type, String name, String actions, Certificate[] certs)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Creates a new `UnresolvedPermission` containing the permission information needed later to actually create a Permission of the specified class, when the permission is resolved.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object obj)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Checks two `UnresolvedPermission` objects for equality.
  `String`
  `getActions()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns the canonical string representation of the actions, which currently is the empty string "", since there are no actions for an `UnresolvedPermission`.
  `String`
  `getUnresolvedActions()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Get the actions for the underlying permission that has not been resolved.
  `Certificate[]`
  `getUnresolvedCerts()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Get the signer certificates (without any supporting chain) for the underlying permission that has not been resolved.
  `String`
  `getUnresolvedName()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Get the target name of the underlying permission that has not been resolved.
  `String`
  `getUnresolvedType()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Get the type (class name) of the underlying permission that has not been resolved.
  `int`
  `hashCode()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns the hash code value for this object.
  `boolean`
  `implies(Permission p)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  This method always returns `false` for unresolved permissions.
  `PermissionCollection`
  `newPermissionCollection()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns a new PermissionCollection object for storing `UnresolvedPermission` objects.
  `String`
  `toString()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Returns a string describing this `UnresolvedPermission`.

  ### Methods declared in class Permission

  `checkGuard, getName`
  Modifier and Type
  Method
  Description
  `void`
  `checkGuard(Object object)`
  Implements the guard interface for a permission.
  `final String`
  `getName()`
  Returns the name of this `Permission`.

  ### Methods declared in class Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `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`.
  `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.
  `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

  - ### UnresolvedPermission

    public UnresolvedPermission(String type, String name, String actions, Certificate[] certs)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Creates a new `UnresolvedPermission` containing the permission information needed later to actually create a Permission of the specified class, when the permission is resolved.
    Parameters:
      `type` - the class name of the Permission class that will be created when this unresolved permission is resolved.
      `name` - the name of the permission.
      `actions` - the actions of the permission.
      `certs` - the certificates the permission's class was signed with. This is a list of certificate chains, where each chain is composed of a signer certificate and optionally its supporting certificate chain. Each chain is ordered bottom-to-top (i.e., with the signer certificate first and the (root) certificate authority last). The signer certificates are copied from the array. Subsequent changes to the array will not affect this UnresolvedPermission.

- ## Method Details

  - ### implies

    public boolean implies(Permission p)
    Deprecated, for removal: This API element is subject to removal in a future version.
    This method always returns `false` for unresolved permissions. That is, an `UnresolvedPermission` is never considered to imply another permission.
    Specified by:
      `implies` in class `Permission`
    Parameters:
      `p` - the permission to check against.
    Returns:
      `false`.

  - ### equals

    public boolean equals(Object obj)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Checks two `UnresolvedPermission` objects for equality. Checks that `obj` is an `UnresolvedPermission`, and has the same type (class) name, permission name, actions, and certificates as this object.

    To determine certificate equality, this method only compares actual signer certificates. Supporting certificate chains are not taken into consideration by this method.

    Specified by:
      `equals` in class `Permission`
    Parameters:
      `obj` - the object we are testing for equality with this object.
    Returns:
      true if `obj` is an `UnresolvedPermission`, and has the same type (class) name, permission name, actions, and certificates as this object.
    See Also:
      - `Object.hashCode()`
      - `HashMap`

  - ### hashCode

    public int hashCode()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns the hash code value for this object.
    Specified by:
      `hashCode` in class `Permission`
    Returns:
      the hash code value for this object
    See Also:
      - `Object.equals(java.lang.Object)`
      - `System.identityHashCode(Object)`

  - ### getActions

    public String getActions()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns the canonical string representation of the actions, which currently is the empty string "", since there are no actions for an `UnresolvedPermission`. That is, the actions for the permission that will be created when this `UnresolvedPermission` is resolved may be non-null, but an `UnresolvedPermission` itself is never considered to have any actions.
    Specified by:
      `getActions` in class `Permission`
    Returns:
      the empty string "".

  - ### getUnresolvedType

    public String getUnresolvedType()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Get the type (class name) of the underlying permission that has not been resolved.
    Returns:
      the type (class name) of the underlying permission that has not been resolved
    Since:
      1.5

  - ### getUnresolvedName

    public String getUnresolvedName()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Get the target name of the underlying permission that has not been resolved.
    Returns:
      the target name of the underlying permission that has not been resolved, or `null`, if there is no target name
    Since:
      1.5

  - ### getUnresolvedActions

    public String getUnresolvedActions()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Get the actions for the underlying permission that has not been resolved.
    Returns:
      the actions for the underlying permission that has not been resolved, or `null` if there are no actions
    Since:
      1.5

  - ### getUnresolvedCerts

    public Certificate[] getUnresolvedCerts()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Get the signer certificates (without any supporting chain) for the underlying permission that has not been resolved.
    Returns:
      the signer certificates for the underlying permission that has not been resolved, or `null`, if there are no signer certificates. Returns a new array each time this method is called.
    Since:
      1.5

  - ### toString

    public String toString()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns a string describing this `UnresolvedPermission`. The convention is to specify the class name, the permission name, and the actions, in the following format: '(unresolved "ClassName" "name" "actions")'.
    Overrides:
      `toString` in class `Permission`
    Returns:
      information about this `UnresolvedPermission`.

  - ### newPermissionCollection

    public PermissionCollection newPermissionCollection()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Returns a new PermissionCollection object for storing `UnresolvedPermission` objects.
    Overrides:
      `newPermissionCollection` in class `Permission`
    Returns:
      a new PermissionCollection object suitable for storing `UnresolvedPermissions`.