public class RelationTypeSupport extends Objectimplements RelationType
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.
| Modifier | Constructor and Description |
|---|---|
protected |
RelationTypeSupport(String
Constructor to be used for subclasses.
|
|
RelationTypeSupport(String
Constructor where all role definitions are dynamically created and passed as parameter.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
addRoleInfo(RoleInfo
Add a role info.
|
String |
getRelationTypeName()
Returns the relation type name.
|
RoleInfo |
getRoleInfo(String
Returns the role info (RoleInfo object) for the given role info name (null if not found).
|
List |
getRoleInfos()
Returns the list of role definitions (ArrayList of RoleInfo objects).
|
public RelationTypeSupport(StringrelationTypeName, RoleInfo [] roleInfoArray) throws IllegalArgumentException , InvalidRelationTypeException
relationTypeName - Name of relation type
roleInfoArray - List of role definitions (RoleInfo objects)
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 RelationTypeSupport(StringrelationTypeName)
relationTypeName - Name of relation type.
IllegalArgumentException - if null parameter.
public StringgetRelationTypeName()
getRelationTypeName in interface
RelationType
public List<RoleInfo > getRoleInfos()
getRoleInfos in interface
RelationType
ArrayList of
RoleInfo.
public RoleInfogetRoleInfo(String roleInfoName) throws IllegalArgumentException , RoleInfoNotFoundException
getRoleInfo in interface
RelationType
roleInfoName - role info name
IllegalArgumentException - if null parameter
RoleInfoNotFoundException - if no role info with that name in relation type.
protected void addRoleInfo(RoleInforoleInfo) throws IllegalArgumentException , InvalidRelationTypeException
roleInfo - role info to be added.
IllegalArgumentException - if null parameter.
InvalidRelationTypeException - if there is already a role info in current relation type with the same name.