public class

RelationTypeSupport

extends Object
implements RelationType
java.lang.Object
   ↳ javax.management.relation.RelationTypeSupport

Class Overview

A RelationTypeSupport object implements the RelationType interface.

It represents a relation type, providing role information for each role expected to be supported in every relation of that type.

A relation type includes a relation type name and a list of role infos (represented by RoleInfo objects).

A relation type has to be declared in the Relation Service:

- either using the createRelationType() method, where a RelationTypeSupport object will be created and kept in the Relation Service

- either using the addRelationType() method where the user has to create an object implementing the RelationType interface, and this object will be used as representing a relation type in the Relation Service.

The serialVersionUID of this class is 4611072955724144607L.

Summary

Public Constructors
RelationTypeSupport(String relationTypeName, RoleInfo[] roleInfoArray)
Constructor where all role definitions are dynamically created and passed as parameter.
Protected Constructors
RelationTypeSupport(String relationTypeName)
Constructor to be used for subclasses.
Public Methods
String getRelationTypeName()
Returns the relation type name.
RoleInfo getRoleInfo(String roleInfoName)
Returns the role info (RoleInfo object) for the given role info name (null if not found).
List<RoleInfo> getRoleInfos()
Returns the list of role definitions (ArrayList of RoleInfo objects).
Protected Methods
void addRoleInfo(RoleInfo roleInfo)
Add a role info.
[Expand]
Inherited Methods
From class java.lang.Object
From interface javax.management.relation.RelationType

Public Constructors

public RelationTypeSupport (String relationTypeName, RoleInfo[] roleInfoArray)

Constructor where all role definitions are dynamically created and passed as parameter.

Parameters
relationTypeName Name of relation type
roleInfoArray List of role definitions (RoleInfo objects)
Throws
IllegalArgumentException if null parameter
InvalidRelationTypeException if:

- the same name has been used for two different roles

- no role info provided

- one null role info provided

Protected Constructors

protected RelationTypeSupport (String relationTypeName)

Constructor to be used for subclasses.

Parameters
relationTypeName Name of relation type.
Throws
IllegalArgumentException if null parameter.

Public Methods

public String getRelationTypeName ()

Returns the relation type name.

Returns
  • the relation type name.

public RoleInfo getRoleInfo (String roleInfoName)

Returns the role info (RoleInfo object) for the given role info name (null if not found).

Parameters
roleInfoName role info name
Returns
  • RoleInfo object providing role definition does not exist
Throws
IllegalArgumentException if null parameter
RoleInfoNotFoundException if no role info with that name in relation type.

public List<RoleInfo> getRoleInfos ()

Returns the list of role definitions (ArrayList of RoleInfo objects).

Returns

Protected Methods

protected void addRoleInfo (RoleInfo roleInfo)

Add a role info. This method of course should not be used after the creation of the relation type, because updating it would invalidate that the relations created associated to that type still conform to it. Can throw a RuntimeException if trying to update a relation type declared in the Relation Service.

Parameters
roleInfo role info to be added.
Throws
IllegalArgumentException if null parameter.
InvalidRelationTypeException if there is already a role info in current relation type with the same name.