Module java.base
Package java.security

# Class AllPermission

java.lang.Object
java.security.Permission
java.security.AllPermission

All Implemented Interfaces:
  `Serializable`, `Guard`

public final class AllPermission extends Permission
The `AllPermission` is a permission that implies all other permissions.

Note: Granting `AllPermission` should be done with extreme care, as it implies all other permissions. Thus, it grants code the ability to run with security disabled. Extreme caution should be taken before granting such a permission to code. This permission should be used only during testing, or in extremely rare cases where an application or applet is completely trusted and adding the necessary permissions to the policy is prohibitively cumbersome.

Since:
  1.2
See Also:
  - `Permission`
  - `AccessController`
  - `Permissions`
  - `PermissionCollection`
  - `SecurityManager`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AllPermission()`
  Creates a new `AllPermission` object.
  `AllPermission(String name, String actions)`
  Creates a new `AllPermission` object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object obj)`
  Checks two `AllPermission` objects for equality.
  `String`
  `getActions()`
  Returns the canonical string representation of the actions.
  `int`
  `hashCode()`
  Returns the hash code value for this object.
  `boolean`
  `implies(Permission p)`
  Checks if the specified permission is "implied" by this object.
  `PermissionCollection`
  `newPermissionCollection()`
  Returns a new `PermissionCollection` for storing `AllPermission` objects.

  ### Methods declared in class java.security.Permission

  `checkGuard, getName, toString`

  ### Methods declared in class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### AllPermission

    public AllPermission()
    Creates a new `AllPermission` object.

  - ### AllPermission

    public AllPermission(String name, String actions)
    Creates a new `AllPermission` object. This constructor exists for use by the `Policy` object to instantiate new `Permission` objects.
    Parameters:
      `name` - ignored
      `actions` - ignored.

- ## Method Details

  - ### implies

    public boolean implies(Permission p)
    Checks if the specified permission is "implied" by this object. This method always returns `true`.
    Specified by:
      `implies` in class `Permission`
    Parameters:
      `p` - the permission to check against.
    Returns:
      return

  - ### equals

    public boolean equals(Object obj)
    Checks two `AllPermission` objects for equality. Two `AllPermission` objects are always equal.
    Specified by:
      `equals` in class `Permission`
    Parameters:
      `obj` - the object we are testing for equality with this object.
    Returns:
      true if `obj` is an `AllPermission`, false otherwise.
    See Also:
      - `Object.hashCode()`
      - `HashMap`

  - ### hashCode

    public int hashCode()
    Returns the hash code value for this object.
    Specified by:
      `hashCode` in class `Permission`
    Returns:
      a hash code value for this object.
    See Also:
      - `Object.equals(java.lang.Object)`
      - `System.identityHashCode(java.lang.Object)`

  - ### getActions

    public String getActions()
    Returns the canonical string representation of the actions.
    Specified by:
      `getActions` in class `Permission`
    Returns:
      the actions.

  - ### newPermissionCollection

    public PermissionCollection newPermissionCollection()
    Returns a new `PermissionCollection` for storing `AllPermission` objects.
    Overrides:
      `newPermissionCollection` in class `Permission`
    Returns:
      a new `PermissionCollection` suitable for storing `AllPermission` objects.