public class RelationTypeSupport extends Object implements 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 relationTypeName)Constructor to be used for subclasses. | 
|   | RelationTypeSupport(String relationTypeName,
                   RoleInfo[] roleInfoArray)Constructor where all role definitions are dynamically created and
 passed as parameter. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected void | addRoleInfo(RoleInfo roleInfo)Add a role info. | 
| 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). | 
public RelationTypeSupport(String relationTypeName, RoleInfo[] roleInfoArray) throws IllegalArgumentException, InvalidRelationTypeException
relationTypeName - Name of relation typeroleInfoArray - List of role definitions (RoleInfo objects)IllegalArgumentException - if null parameterInvalidRelationTypeException - if:
 - the same name has been used for two different roles
- no role info provided
- one null role info provided
protected RelationTypeSupport(String relationTypeName)
relationTypeName - Name of relation type.IllegalArgumentException - if null parameter.public String getRelationTypeName()
getRelationTypeName in interface RelationTypepublic List<RoleInfo> getRoleInfos()
getRoleInfos in interface RelationTypeArrayList of RoleInfo.public RoleInfo getRoleInfo(String roleInfoName) throws IllegalArgumentException, RoleInfoNotFoundException
getRoleInfo in interface RelationTyperoleInfoName - role info nameIllegalArgumentException - if null parameterRoleInfoNotFoundException - if no role info with that name in
 relation type.protected void addRoleInfo(RoleInfo roleInfo) 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. Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2023, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.