Module java.management
Package javax.management.remote

## Class SubjectDelegationPermission

- java.lang.Object
- - java.security.Permission
  - - java.security.BasicPermission
    - - javax.management.remote.SubjectDelegationPermission

- All Implemented Interfaces:
    `Serializable`, `Guard`

      public final class SubjectDelegationPermission
      extends BasicPermission

  Permission required by an authentication identity to perform operations on behalf of an authorization identity.

  A SubjectDelegationPermission contains a name (also referred to as a "target name") but no actions list; you either have the named permission or you don't.

  The target name is the name of the authorization principal classname followed by a period and the authorization principal name, that is `"PrincipalClassName.PrincipalName"`.

  An asterisk may appear by itself, or if immediately preceded by a "." may appear at the end of the target name, to signify a wildcard match.

  For example, "*", "javax.management.remote.JMXPrincipal.*" and "javax.management.remote.JMXPrincipal.delegate" are valid target names. The first one denotes any principal name from any principal class, the second one denotes any principal name of the concrete principal class `javax.management.remote.JMXPrincipal` and the third one denotes a concrete principal name `delegate` of the concrete principal class `javax.management.remote.JMXPrincipal`.

  Since:
    1.5
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SubjectDelegationPermission​(String name)` | Creates a new SubjectDelegationPermission with the specified name.
    `SubjectDelegationPermission​(String name, String actions)` | Creates a new SubjectDelegationPermission object with the specified name.

  - ### Method Summary

    - ### Methods declared in class java.security.BasicPermission

      `equals, getActions, hashCode, implies, newPermissionCollection`

    - ### 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 Detail

    - #### SubjectDelegationPermission

          public SubjectDelegationPermission​(String name)

      Creates a new SubjectDelegationPermission with the specified name. The name is the symbolic name of the SubjectDelegationPermission.
      Parameters:
        `name` - the name of the SubjectDelegationPermission
      Throws:
        `NullPointerException` - if `name` is `null`.
        `IllegalArgumentException` - if `name` is empty.

    - #### SubjectDelegationPermission

          public SubjectDelegationPermission​(String name,
                                             String actions)

      Creates a new SubjectDelegationPermission object with the specified name. The name is the symbolic name of the SubjectDelegationPermission, and the actions String is currently unused and must be null.
      Parameters:
        `name` - the name of the SubjectDelegationPermission
        `actions` - must be null.
      Throws:
        `NullPointerException` - if `name` is `null`.
        `IllegalArgumentException` - if `name` is empty or `actions` is not null.