/* * @(#)SubjectDelegationPermission.java 1.9 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package javax.management.remote; import java.security.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 * @since.unbundled 1.0 */ public final class SubjectDelegationPermission extends BasicPermission { private static final long serialVersionUID = 1481618113008682343L; /** * Creates a new SubjectDelegationPermission with the specified name. * The name is the symbolic name of the SubjectDelegationPermission. * * @param name the name of the SubjectDelegationPermission * * @throws NullPointerException if name is * null. * @throws IllegalArgumentException if name is empty. */ public SubjectDelegationPermission(String name) { super(name); } /** * 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. * * @param name the name of the SubjectDelegationPermission * @param actions must be null. * * @throws NullPointerException if name is * null. * @throws IllegalArgumentException if name is empty * or actions is not null. */ public SubjectDelegationPermission(String name, String actions) { super(name, actions); if (actions != null) throw new IllegalArgumentException("Non-null actions"); } }