Class MBeanServerPermission

All Implemented Interfaces:
Serializable, Guard

public class MBeanServerPermission
extends BasicPermission
A Permission to perform actions related to MBeanServers. The name of the permission specifies the operation requested or granted by the permission. For a granted permission, it can be * to allow all of the MBeanServer operations specified below. Otherwise, for a granted or requested permission, it must be one of the following:
createMBeanServer
Create a new MBeanServer object using the method MBeanServerFactory.createMBeanServer() or MBeanServerFactory.createMBeanServer(java.lang.String).
findMBeanServer
Find an MBeanServer with a given name, or all MBeanServers in this JVM, using the method MBeanServerFactory.findMBeanServer(java.lang.String).
newMBeanServer
Create a new MBeanServer object without keeping a reference to it, using the method MBeanServerFactory.newMBeanServer() or MBeanServerFactory.newMBeanServer(java.lang.String).
releaseMBeanServer
Remove the MBeanServerFactory's reference to an MBeanServer, using the method MBeanServerFactory.releaseMBeanServer(javax.management.MBeanServer).
The name of the permission can also denote a list of one or more comma-separated operations. Spaces are allowed at the beginning and end of the name and before and after commas.

MBeanServerPermission("createMBeanServer") implies MBeanServerPermission("newMBeanServer").

Since:
1.5
See Also:
Serialized Form
  • Constructor Details

    • MBeanServerPermission

      public MBeanServerPermission​(String name)

      Create a new MBeanServerPermission with the given name.

      This constructor is equivalent to MBeanServerPermission(name,null).

      Parameters:
      name - the name of the granted permission. It must respect the constraints spelt out in the description of the MBeanServerPermission class.
      Throws:
      NullPointerException - if the name is null.
      IllegalArgumentException - if the name is not * or one of the allowed names or a comma-separated list of the allowed names.
    • MBeanServerPermission

      public MBeanServerPermission​(String name, String actions)

      Create a new MBeanServerPermission with the given name.

      Parameters:
      name - the name of the granted permission. It must respect the constraints spelt out in the description of the MBeanServerPermission class.
      actions - the associated actions. This parameter is not currently used and must be null or the empty string.
      Throws:
      NullPointerException - if the name is null.
      IllegalArgumentException - if the name is not * or one of the allowed names or a comma-separated list of the allowed names, or if actions is a non-null non-empty string.
      NullPointerException - if name is null.
      IllegalArgumentException - if name is empty or if arguments are invalid.
  • Method Details

    • implies

      public boolean implies​(Permission p)

      Checks if this MBeanServerPermission object "implies" the specified permission.

      More specifically, this method returns true if:

      • p is an instance of MBeanServerPermission,
      • p's target names are a subset of this object's target names

      The createMBeanServer permission implies the newMBeanServer permission.

      Overrides:
      implies in class BasicPermission
      Parameters:
      p - the permission to check against.
      Returns:
      true if the specified permission is implied by this object, false if not.
    • equals

      public boolean equals​(Object obj)
      Checks two MBeanServerPermission objects for equality. Checks that obj is an MBeanServerPermission, and represents the same list of allowable actions as this object.
      Overrides:
      equals in class BasicPermission
      Parameters:
      obj - the object we are testing for equality with this object.
      Returns:
      true if the objects are equal.
      See Also:
      Object.hashCode(), HashMap