当类实现通用接口时,如何在Enterprise Architect中自动绑定模板类型

时间:2018-08-29 15:07:32

标签: uml enterprise-architect

我已经使用Enterprise Architect定义了一个通用接口(请参见下图)。 enter image description here

我现在要指定以下实现:

class AircraftsTypesRepository implements Repository<AircraftTypes, Integer>

EA是否有一种方法可以将类型和方法签名自动绑定到我在基本接口中指定的泛型类型。换句话说,我想在图中显示对于AircraftTypesRepository类,TK并绑定到T=AircraftTypesK=Integer。我也想在界面方法中看到这一点

1 个答案:

答案 0 :(得分:1)

我考虑了这一点,并且(因为没有本机支持)建议编写该脚本。有很多方法,所以我会选择一种KISS。 Realize关系可以使用名为 Bind {<val> 的标记值进行修饰,或者其中 <val> 是模板参数的名称(在您的示例T或K中)。然后,应将这些电视定义为RefGUID,以允许它们链接到EA元素。创建这些电视应该是查看模板化类的一个脚本。您可以使用

在表t_xref中找到模板定义
SELECT description FROM t_xref 
WHERE client = `<GUID of element>` AND type = `elment property`

其中将包含

  

@ELEMENT; GUID = {5EC3D8DF-BC37-4529-8F36-0D9BA363955D};名称= E;类型= ClassifierTemplateParameter;位置= 0; @ENDELEMENT ;;

(我创建了一个仅用T的示例,但是我想您会轻松解码的。)

现在您已经在“实现”中设置了标记的值,您可以运行第二个脚本来同步定义(“寻找”文本上相同的类型)。稍后,您可以更改电视并再次重新同步(AFAIK,没有钩住要更改的电视,因此需要手动触发)。

这不是一个完整的解决方案,而只是一个建议,给实验(和失败)留出了很多领域。