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 RelationType
public List<RoleInfo> getRoleInfos()
getRoleInfos
in interface RelationType
ArrayList
of RoleInfo
.public RoleInfo getRoleInfo(String roleInfoName) throws IllegalArgumentException, RoleInfoNotFoundException
getRoleInfo
in interface RelationType
roleInfoName
- 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, 2020, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.