Deprecated
for removal since 25.
This class was only useful in conjunction with the Security Manager, which is no longer supported. There is no replacement for this class.
Permission controlling access to MBeanServer operations. If a
security manager has been set using System#setSecurityManager, most operations on the MBean Server
require that the caller's permissions imply an MBeanPermission
appropriate for the operation. This is described in detail in the
documentation for the MBeanServer interface.
As with other Permission objects, an MBeanPermission can
represent either a permission that you have or a
permission that you need. When a sensitive operation is
being checked for permission, an MBeanPermission is constructed
representing the permission you need. The operation is only
allowed if the permissions you have imply the
permission you need.
An MBeanPermission contains four items of information:
The action. For a permission you need,
this is one of the actions in the list below. For a permission you have, this is
a comma-separated list of those actions, or *,
representing all actions.
The action is returned by getActions().
The class name.
For a permission you need, this is the class name of an MBean
you are accessing, as returned by MBeanServer..getClassName(). Certain operations do not reference a class name,
in which case the class name is null.
For a permission you have, this is either empty or a class
name pattern. A class name pattern is a string following the
Java conventions for dot-separated class names. It may end with
".*" meaning that the permission grants access to any
class that begins with the string preceding ".*". For
instance, "javax.management.*" grants access to
javax.management.MBeanServerDelegate and
javax.management.timer.Timer, among other classes.
A class name pattern can also be empty or the single character
"*", both of which grant access to any class.
The member.
For a permission you need, this is the name of the attribute or operation you are accessing. For operations that do not reference an attribute or operation, the member is null.
For a permission you have, this is either the name of an attribute
or operation you can access, or it is empty or the single character
"*", both of which grant access to any member.
The object name.
For a permission you need, this is the ObjectName of the
MBean you are accessing. For operations that do not reference a
single MBean, it is null. It is never an object name pattern.
For a permission you have, this is the ObjectName of the
MBean or MBeans you can access. It may be an object name pattern
to grant access to all MBeans whose names match the pattern. It
may also be empty, which grants access to all MBeans whatever their
name.
If you have an MBeanPermission, it allows operations only if all four of the items match.
The class name, member, and object name can be written together
as a single string, which is the name of this permission.
The name of the permission is the string returned by getName(). The format of the string is:
className#member[objectName]
The object name is written using the usual syntax for ObjectName. It may contain any legal characters, including
]. It is terminated by a ] character
that is the last character in the string.
One or more of the className, member,
or objectName may be omitted. If the
member is omitted, the # may be too (but
does not have to be). If the objectName is omitted,
the [] may be too (but does not have to be). It is
not legal to omit all three items, that is to have a name
that is the empty string.
One or more of the className, member,
or objectName may be the character "-",
which is equivalent to a null value. A null value is implied by
any value (including another null value) but does not imply any
other value.
The possible actions are these:
In a comma-separated list of actions, spaces are allowed before and after each action.
API Note
This permission cannot be used for controlling access to resources as the Security Manager is no longer supported. Consequently this class is deprecated for removal in a future release.
| Modifier and Type | Field and Description |
|---|---|
| private String | |
| private static final int | AddNotificationListener
Actions list. |
| private static final int | ALL
All actions. |
| private transient boolean | classNameExactMatch
True if classNamePrefix must match exactly. |
| private transient String | classNamePrefix
The classname prefix that must match. |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final int | |
| private transient int | mask
The actions mask. |
| private transient String | member
The member that must match. |
| private static final int | NONE
No actions. |
| private transient ObjectName | objectName
The objectName that must match. |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final long | |
| private static final int | |
| private static final int |
| Access | Constructor and Description |
|---|---|
| public | MBeanPermission(String
the triplet "className#member[objectName]". name, String the action string. actions)Create a new MBeanPermission object with the specified target name and actions. |
| public | MBeanPermission(String
the class name to which this permission applies.
May be null or className, String "-", which represents a class name
that is implied by any class name but does not imply any other
class name.the member to which this permission applies. May
be null or member, ObjectName "-", which represents a member that is
implied by any member but does not imply any other member.the object name to which this permission
applies. May be null, which represents an object name that is
implied by any object name but does not imply any other object
name. objectName, String the action string. actions)Create a new MBeanPermission object with the specified target name (class name, member, object name) and actions. |
| Modifier and Type | Method and Description |
|---|---|
| public boolean | Returns: true if obj is an MBeanPermission, and has the same name and actions as this MBeanPermission object.the object we are testing for equality with this object. obj)Implements abstract java. Checks two MBeanPermission objects for equality. |
| public String | Returns: the canonical string representation of the actions.Implements abstract java. Returns the "canonical string representation" of the actions. |
| private static String | |
| private static int | |
| public int | Returns: a hash code value for this object.Implements abstract java. Returns the hash code value for this object. |
| public boolean | Returns: true if the specified permission is implied by this object, false if not.the permission to check against. p)Implements abstract java. Checks if this MBeanPermission object "implies" the specified permission. |
| private void | initName(String className, String member, ObjectName objectName)
Assign fields based on className, member, and objectName parameters. |
| private static String | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void |
| actions | back to summary |
|---|---|
| private String actions | |
| AddNotificationListener | back to summary |
|---|---|
| private static final int AddNotificationListener Actions list. | |
| ALL | back to summary |
|---|---|
| private static final int ALL All actions. | |
| classNameExactMatch | back to summary |
|---|---|
| private transient boolean classNameExactMatch True if classNamePrefix must match exactly. Otherwise, the className being matched must start with classNamePrefix. | |
| classNamePrefix | back to summary |
|---|---|
| private transient String classNamePrefix The classname prefix that must match. If null, is implied by any classNamePrefix but does not imply any non-null classNamePrefix. | |
| GetAttribute | back to summary |
|---|---|
| private static final int GetAttribute | |
| GetClassLoader | back to summary |
|---|---|
| private static final int GetClassLoader | |
| GetClassLoaderFor | back to summary |
|---|---|
| private static final int GetClassLoaderFor | |
| GetClassLoaderRepository | back to summary |
|---|---|
| private static final int GetClassLoaderRepository | |
| GetDomains | back to summary |
|---|---|
| private static final int GetDomains | |
| GetMBeanInfo | back to summary |
|---|---|
| private static final int GetMBeanInfo | |
| GetObjectInstance | back to summary |
|---|---|
| private static final int GetObjectInstance | |
| Instantiate | back to summary |
|---|---|
| private static final int Instantiate | |
| Invoke | back to summary |
|---|---|
| private static final int Invoke | |
| IsInstanceOf | back to summary |
|---|---|
| private static final int IsInstanceOf | |
| mask | back to summary |
|---|---|
| private transient int mask The actions mask. | |
| member | back to summary |
|---|---|
| private transient String member The member that must match. If null, is implied by any member but does not imply any non-null member. | |
| NONE | back to summary |
|---|---|
| private static final int NONE No actions. | |
| objectName | back to summary |
|---|---|
| private transient ObjectName objectName The objectName that must match. If null, is implied by any objectName but does not imply any non-null objectName. | |
| QueryMBeans | back to summary |
|---|---|
| private static final int QueryMBeans | |
| QueryNames | back to summary |
|---|---|
| private static final int QueryNames | |
| RegisterMBean | back to summary |
|---|---|
| private static final int RegisterMBean | |
| RemoveNotificationListener | back to summary |
|---|---|
| private static final int RemoveNotificationListener | |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID | |
| SetAttribute | back to summary |
|---|---|
| private static final int SetAttribute | |
| UnregisterMBean | back to summary |
|---|---|
| private static final int UnregisterMBean | |
| MBeanPermission | back to summary |
|---|---|
| public MBeanPermission(String name, String actions) Create a new MBeanPermission object with the specified target name and actions. The target name is of the form
" The actions parameter contains a comma-separated list of the desired actions granted on the target name. It must not be empty or null.
| |
| MBeanPermission | back to summary |
|---|---|
| public MBeanPermission(String className, String member, ObjectName objectName, String actions) Create a new MBeanPermission object with the specified target name (class name, member, object name) and actions. The class name, member and object name parameters define a
target name of the form
" The actions parameter contains a comma-separated list of the desired actions granted on the target name. It must not be empty or null.
| |
| equals | back to summary |
|---|---|
| public boolean equals(Object obj) Implements abstract java. Checks two MBeanPermission objects for equality. Checks that obj is an MBeanPermission, and has the same name and actions as this object.
| |
| getActions | back to summary |
|---|---|
| public String getActions() Implements abstract java. Returns the "canonical string representation" of the actions. That is, this method always returns present actions in alphabetical order.
| |
| getActions | back to summary |
|---|---|
| private static String getActions(int mask) Returns the "canonical string representation" of the actions from the mask. | |
| getMask | back to summary |
|---|---|
| private static int getMask(String action) Converts an action String to an integer action mask.
| |
| hashCode | back to summary |
|---|---|
| public int hashCode() Implements abstract java. Returns the hash code value for this object.
| |
| implies | back to summary |
|---|---|
| public boolean implies(Permission p) Implements abstract java. Checks if this MBeanPermission object "implies" the specified permission. More specifically, this method returns true if:
If this object's className is " If this object's member is " If this object's objectName n1 is an object name pattern,
p's objectName n2 matches it if
A permission that includes the
| |
| initName | back to summary |
|---|---|
| private void initName(String className, String member, ObjectName objectName) Assign fields based on className, member, and objectName parameters. | |
| makeName | back to summary |
|---|---|
| private static String makeName(String className, String member, ObjectName objectName) | |
| parseActions | back to summary |
|---|---|
| private void parseActions() Parse | |
| parseName | back to summary |
|---|---|
| private void parseName() Parse | |
| readObject | back to summary |
|---|---|
| private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException Deserialize this object based on its name and actions. | |
| setClassName | back to summary |
|---|---|
| private void setClassName(String className) | |
| setMember | back to summary |
|---|---|
| private void setMember(String member) | |