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 Details

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