public class RelationTypeSupport extends Object implements RelationType
它代表一种关系类型,为该类型的每个关系中预期支持的每个角色提供角色信息。
关系类型包括关系类型名称和角色信息列表(由RoleInfo对象表示)。
关系类型必须在关系服务中声明:
- 使用createRelationType()方法,其中将创建一个RelationTypeSupport对象并保存在“关系服务”
- 使用addRelationType()方法,用户必须创建一个实现RelationType接口的对象,该对象将用作在Relation Service中表示关系类型。
这个类的serialVersionUID的是4611072955724144607L
。
Modifier | Constructor and Description |
---|---|
protected |
RelationTypeSupport(String relationTypeName)
用于子类的构造方法。
|
|
RelationTypeSupport(String relationTypeName, RoleInfo[] roleInfoArray)
所有角色定义都被动态创建并作为参数传递的构造方法。
|
Modifier and Type | Method and Description |
---|---|
protected void |
addRoleInfo(RoleInfo roleInfo)
添加角色信息。
|
String |
getRelationTypeName()
返回关系类型名称。
|
RoleInfo |
getRoleInfo(String roleInfoName)
返回给定角色信息名称的角色信息(RoleInfo对象)(如果未找到,则返回null)。
|
List<RoleInfo> |
getRoleInfos()
返回角色定义列表(RoleInfo对象的ArrayList)。
|
public RelationTypeSupport(String relationTypeName, RoleInfo[] roleInfoArray) throws IllegalArgumentException, InvalidRelationTypeException
relationTypeName
- 关系类型名称
roleInfoArray
- 角色定义列表(RoleInfo对象)
IllegalArgumentException
- 如果为空参数
InvalidRelationTypeException
- 如果:
- 相同的名称已被用于两个不同的角色
- 没有提供角色信息
- 提供一个空的角色信息
protected RelationTypeSupport(String relationTypeName)
relationTypeName
- 关系类型名称。
IllegalArgumentException
- 如果为空参数。
public String getRelationTypeName()
getRelationTypeName
在接口
RelationType
public List<RoleInfo> getRoleInfos()
getRoleInfos
在接口
RelationType
ArrayList
的RoleInfo
。
public RoleInfo getRoleInfo(String roleInfoName) throws IllegalArgumentException, RoleInfoNotFoundException
getRoleInfo
在接口
RelationType
roleInfoName
- 角色信息名称
IllegalArgumentException
- 如果为空参数
RoleInfoNotFoundException
- 如果在关系类型中没有该名称的角色信息。
protected void addRoleInfo(RoleInfo roleInfo) throws IllegalArgumentException, InvalidRelationTypeException
roleInfo
- 要添加的角色信息。
IllegalArgumentException
- 如果为空参数。
InvalidRelationTypeException
- 如果当前关系类型中已经有相同名称的角色信息。