Module java.management
Package javax.management.relation

# Class RoleInfo

java.lang.Object
javax.management.relation.RoleInfo

All Implemented Interfaces:
  `Serializable`

    public class RoleInfo
    extends Object
    implements Serializable

A RoleInfo object summarises a role in a relation type.

The serialVersionUID of this class is `2504952983494636987L`.

Since:
  1.5
See Also:
  Serialized Form

## Field Summary

Fields
Modifier and Type | Field | Description
--- | --- | ---
`static int` | `ROLE_CARDINALITY_INFINITY` | To specify an unlimited cardinality.

## Constructor Summary

Constructors
Constructor | Description
--- | ---
`RoleInfo​(String roleName, String mbeanClassName)` | Constructor.
`RoleInfo​(String roleName, String mbeanClassName, boolean read, boolean write)` | Constructor.
`RoleInfo​(String roleName, String mbeanClassName, boolean read, boolean write, int min, int max, String descr)` | Constructor.
`RoleInfo​(RoleInfo roleInfo)` | Copy constructor.

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`boolean` | `checkMaxDegree​(int value)` | Returns true if the `value` parameter is lower than or equal to the expected maximum degree, false otherwise.
`boolean` | `checkMinDegree​(int value)` | Returns true if the `value` parameter is greater than or equal to the expected minimum degree, false otherwise.
`String` | `getDescription()` | Returns description text for the role.
`int` | `getMaxDegree()` | Returns maximum degree for corresponding role reference.
`int` | `getMinDegree()` | Returns minimum degree for corresponding role reference.
`String` | `getName()` | Returns the name of the role.
`String` | `getRefMBeanClassName()` | Returns name of type of MBean expected to be referenced in corresponding role.
`boolean` | `isReadable()` | Returns read access mode for the role (true if it is readable).
`boolean` | `isWritable()` | Returns write access mode for the role (true if it is writable).
`String` | `toString()` | Returns a string describing the role info.

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### ROLE_CARDINALITY_INFINITY

public static final int ROLE_CARDINALITY_INFINITY
To specify an unlimited cardinality.

See Also:
  Constant Field Values

## Constructor Details

### RoleInfo

public RoleInfo​(String roleName, String mbeanClassName, boolean read, boolean write, int min, int max, String descr) throws IllegalArgumentException, InvalidRoleInfoException, ClassNotFoundException, NotCompliantMBeanException
Constructor.

Parameters:
  `roleName` - name of the role.
  `mbeanClassName` - name of the class of MBean(s) expected to be referenced in corresponding role. If an MBean M is in this role, then the MBean server must return true for `isInstanceOf(M, mbeanClassName)`.
  `read` - flag to indicate if the corresponding role can be read
  `write` - flag to indicate if the corresponding role can be set
  `min` - minimum degree for role, i.e. minimum number of MBeans to provide in corresponding role Must be less than or equal to `max`. (ROLE_CARDINALITY_INFINITY for unlimited)
  `max` - maximum degree for role, i.e. maximum number of MBeans to provide in corresponding role Must be greater than or equal to `min` (ROLE_CARDINALITY_INFINITY for unlimited)
  `descr` - description of the role (can be null)
Throws:
  `IllegalArgumentException` - if null parameter
  `InvalidRoleInfoException` - if the minimum degree is greater than the maximum degree.
  `ClassNotFoundException` - As of JMX 1.2, this exception can no longer be thrown. It is retained in the declaration of this class for compatibility with existing code.
  `NotCompliantMBeanException` - if the class mbeanClassName is not a MBean class.

### RoleInfo

public RoleInfo​(String roleName, String mbeanClassName, boolean read, boolean write) throws IllegalArgumentException, ClassNotFoundException, NotCompliantMBeanException
Constructor.

Parameters:
  `roleName` - name of the role
  `mbeanClassName` - name of the class of MBean(s) expected to be referenced in corresponding role. If an MBean M is in this role, then the MBean server must return true for `isInstanceOf(M, mbeanClassName)`.
  `read` - flag to indicate if the corresponding role can be read
  `write` - flag to indicate if the corresponding role can be set

  Minimum and maximum degrees defaulted to 1.

  Description of role defaulted to null.

Throws:
  `IllegalArgumentException` - if null parameter
  `ClassNotFoundException` - As of JMX 1.2, this exception can no longer be thrown. It is retained in the declaration of this class for compatibility with existing code.
  `NotCompliantMBeanException` - As of JMX 1.2, this exception can no longer be thrown. It is retained in the declaration of this class for compatibility with existing code.

### RoleInfo

public RoleInfo​(String roleName, String mbeanClassName) throws IllegalArgumentException, ClassNotFoundException, NotCompliantMBeanException
Constructor.

Parameters:
  `roleName` - name of the role
  `mbeanClassName` - name of the class of MBean(s) expected to be referenced in corresponding role. If an MBean M is in this role, then the MBean server must return true for `isInstanceOf(M, mbeanClassName)`.

  IsReadable and IsWritable defaulted to true.

  Minimum and maximum degrees defaulted to 1.

  Description of role defaulted to null.

Throws:
  `IllegalArgumentException` - if null parameter
  `ClassNotFoundException` - As of JMX 1.2, this exception can no longer be thrown. It is retained in the declaration of this class for compatibility with existing code.
  `NotCompliantMBeanException` - As of JMX 1.2, this exception can no longer be thrown. It is retained in the declaration of this class for compatibility with existing code.

### RoleInfo

public RoleInfo​(RoleInfo roleInfo) throws IllegalArgumentException
Copy constructor.

Parameters:
  `roleInfo` - the `RoleInfo` instance to be copied.
Throws:
  `IllegalArgumentException` - if null parameter

## Method Details

### getName

public String getName()
Returns the name of the role.

Returns:
  the name of the role.

### isReadable

public boolean isReadable()
Returns read access mode for the role (true if it is readable).

Returns:
  true if the role is readable.

### isWritable

public boolean isWritable()
Returns write access mode for the role (true if it is writable).

Returns:
  true if the role is writable.

### getDescription

public String getDescription()
Returns description text for the role.

Returns:
  the description of the role.

### getMinDegree

public int getMinDegree()
Returns minimum degree for corresponding role reference.

Returns:
  the minimum degree.

### getMaxDegree

public int getMaxDegree()
Returns maximum degree for corresponding role reference.

Returns:
  the maximum degree.

### getRefMBeanClassName

public String getRefMBeanClassName()

Returns name of type of MBean expected to be referenced in corresponding role.

Returns:
  the name of the referenced type.

### checkMinDegree

public boolean checkMinDegree​(int value)
Returns true if the `value` parameter is greater than or equal to the expected minimum degree, false otherwise.

Parameters:
  `value` - the value to be checked
Returns:
  true if greater than or equal to minimum degree, false otherwise.

### checkMaxDegree

public boolean checkMaxDegree​(int value)
Returns true if the `value` parameter is lower than or equal to the expected maximum degree, false otherwise.

Parameters:
  `value` - the value to be checked
Returns:
  true if lower than or equal to maximum degree, false otherwise.

### toString

public String toString()
Returns a string describing the role info.

Overrides:
  `toString` in class `Object`
Returns:
  a description of the role info.