前页 后页

转换连接器

转换连接器时,可以在连接器结束时使用两种不同类型的Class:通过转换创建的Class或已经知道GUID的现有Class。

连接到由转换创建的类

最常见的连接是通过转换创建的Class。要创建此连接,请使用以下三项信息:

  • 原始的类GUID
  • 转换的名称
  • 转换后的类的名称
此类连接器是使用TRANSFORM_REFERENCE函数宏创建的;当元素处于当前转换中时,可以安全地将其从转换中省略。最简单的例子是,当您在转换中从单个类创建了多个类,并且希望它们之间有连接器时;从EJB Entity转换考虑以下脚本:

相依性

{

%TRANSFORM_REFERENCE(“ EJBRealizeHome”,classGUID)%构造型=“ EJBRealizeHome”

资源

{

%TRANSFORM_REFERENCE(“ EJBEntityBean”,classGUID)%

}

目标

{

%TRANSFORM_REFERENCE(“ EJBHomeInterface”,classGUID)%

}

}

在此脚本中,TRANSFORM_REFERENCE宏具有三种用法:一种用于标识连接器以进行同步,另一种用于标识端点。这三个都使用相同的源GUID,因为它们都来自一个原始类。这三个引用都不需要指定转换,因为这两个引用都指向当前转换中的某个内容-然后,每个引用仅需标识转换名称。

也可以从另一个连接器创建一个连接器。您可以创建一个连接器模板,并从“类”级别模板中列出所有连接到该类的连接器。您不必担心只生成一次连接器,因为如果您为连接器创建了TRANSFORM_REFERENCE,则系统会自动对其进行同步。

此脚本复制源连接器:

%connectorType%

{

%TRANSFORM_CURRENT()%

%TRANSFORM_REFERENCE(“连接器”,connectorGUID)%

资源

{

%TRANSFORM_REFERENCE(“ Class”,connectorSourceGUID)%

%TRANSFORM_CURRENT(“来源”)%

}

目标

{

%TRANSFORM_REFERENCE(“ Class”,connectorDestGUID)%

%TRANSFORM_CURRENT(“目标”)%

}

}

连接到您知道GUID的类

可以用作连接器端的第二种类型的Class是您知道当前GUID的现有元素。要创建此连接,请在源端或目标端指定目标类的GUID。此脚本从转换中创建的类创建到从其转换的类的依赖关系:

相依性

{

%TRANSFORM_REFERENCE(“ SourceDependency”,classGUID)%

构造型=“ transformedFrom”

资源

{

%TRANSFORM_REFERENCE(“ Class”,classGUID)%

}

目标

{

GUID =%qt %% classGUID %% qt%

}

}

笔记

  • 每个连接器都在两个末端对象处进行了转换,因此该连接器可能在转换中出现两次;这不是问题,尽管您应该仔细检查连接器的生成方式完全相同,而不管当前Class的哪一端。

学到更多