01: /* JFox, the OpenSource J2EE Application Server
02: *
03: * Copyright (C) 2002 huihoo.com
04: * Distributable under GNU LGPL license
05: * See the GNU Lesser General Public License for more details.
06: */
07:
08: package javax.management;
09:
10: import java.security.BasicPermission;
11:
12: /**
13: * This permission represents "trust" in a signer or codebase.
14: * <p>
15: * MBeanTrustPermission contains a target name but no actions list.
16: * A single target name, "register", is defined for this permission.
17: * The target "*" is also allowed, permitting "register" and any future
18: * targets that may be defined.
19: * Only the null value or the empty string are allowed for the action
20: * to allow the policy object to doCreate the permissions specified in
21: * the policy file.
22: * <p>
23: * If a signer, or codesource is granted this permission, then it is
24: * considered a trusted source for MBeans. Only MBeans from trusted
25: * sources may be registered in the MBeanServer.
26: *
27: * @since JMX 1.2
28: *
29: * @author <a href="mailto:young_yy@hotmail.com">Young Yang</a>
30: */
31:
32: public class MBeanTrustPermission extends BasicPermission {
33: /** <p>Create a new MBeanTrustPermission with the given name.</p>
34: * <p>This constructor is equivalent to
35: * <code>MBeanTrustPermission(name,null)</code>.</p>
36: * @param name the name of the permission. It must be
37: * "register" or "*" for this permission.
38: * @exception NullPointerException if the name is null.
39: * @exception IllegalArgumentException if the name is neither
40: * "register" nor "*".
41: */
42: public MBeanTrustPermission(String name) {
43: this (name, null);
44: }
45:
46: /** <p>Create a new MBeanTrustPermission with the given name.</p>
47: * @param name the name of the permission. It must be
48: * "register" or "*" for this permission.
49: * @param actions the actions for the permission. It must be
50: * null or <code>""</code>.
51: * @exception NullPointerException if the name is null.
52: * @exception IllegalArgumentException if the name is neither
53: * "register" nor "*"; or if <code>actions</code> is a non-null
54: * non-empty string.
55: */
56: public MBeanTrustPermission(String name, String actions) {
57: super (name, actions);
58: /* Check that actions is a null empty string */
59: if (actions != null && actions.length() > 0)
60: throw new IllegalArgumentException("MBeanTrustPermission "
61: + "actions must be null: " + actions);
62:
63: if (!name.equals("register") && !name.equals("*"))
64: throw new IllegalArgumentException("MBeanTrustPermission: "
65: + "Unknown target name " + "[" + name + "]");
66: }
67: }
|