预订演示
前页 后页

变换连接器

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

连接到由变换创建的类

最常见的连接是通过转换创建的类;要创建此连接,您需要使用三项信息:

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

依赖关系

{

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

{

%TRANSFORM_REFERENCE(“EJBEntityBean”,classGUID)%

}

目标

{

%TRANSFORM_REFERENCE(“EJBHomeInterface”,classGUID)%

}

}

在此脚本中,TRANSFORM_REFERENCE 宏有三种用法:一种用于标识连接器以进行同步,另外两种用于标识端点;这三种用法都使用相同的源GUID ,因为它们都来自同一个原始类。由于这两个引用指向的是当前转换中的某个对象,因此它们都无需指定转换类型——因此它们只需标识转换名称即可。

您也可以从另一个连接器创建连接器。您可以创建一个连接器模板,并列出所有连接到类级模板的类器;您不必担心只生成一次连接器,因为如果您已经为该连接器创建了 TRANSFORM_REFERENCE,系统会自动同步它们。

此脚本复制源连接器:

%连接器类型%

{

%TRANSFORM_CURRENT()%

%TRANSFORM_REFERENCE("连接器",connectorGUID)%

{

%TRANSFORM_REFERENCE("类",connectorSourceGUID)%

%TRANSFORM_CURRENT("源")%

}

目标

{

%TRANSFORM_REFERENCE("类",connectorDestGUID)%

%TRANSFORM_CURRENT("目标")%

}

}

连接到您知道GUID类

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

依赖关系

{

%TRANSFORM_REFERENCE("源依赖关系",classGUID)%

刻板印象=“transformedFrom”

{

%TRANSFORM_REFERENCE("类",classGUID)%

}

目标

{

GUID=%qt%%classGUID%%qt%

}

}

注记

  • 每个连接器在两端对象上进行转换,因此连接器可能在转换中出现两次;这不是问题,但您应该仔细检查连接器是否以完全相同的方式生成,无论当前类的哪一端

了解更多