# 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 final 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 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.