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 and 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 inherited from class java.security.BasicPermission

`equals, getActions, hashCode, implies, newPermissionCollection`

### Methods inherited from class java.lang.Object

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

### Methods inherited from class java.security.Permission

`checkGuard, getName, toString`

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