UML 到 Java - 发行说明


1.0 已知问题
   1.1 在转换之后,生成的 Java 文件的快捷方式可能丢失
   1.2 转换可能不更新 Java 元素
   1.3 转换可能从源代码除去 Java 元素

1.0 已知问题

1.1 在转换之后,生成的 Java 文件的快捷方式可能丢失

当在选中替换 UML 元素选项的情况下,将 UML 模型转换成 Java 代码时,UML 模型中的对象被替换成生成的 Java 文件的相应快捷方式。您可以使用撤销按钮来撤销操作。但是,如果您接着单击重做按钮,则模型会丢失之前生成的 Java 文件的所有快捷方式。要变通此问题,请不要使用重做按钮。而是再次运行 UML 到 Java 的转换。

1.2 转换可能不更新 Java 元素

如果两个 Javadoc 注释在 Java 元素之前,则 UML 到 Java 的转换可能不更新 Java 元素。

例如,如果转换生成在其 Javadoc 中包含 @generated 标记的 Java 元素,并且另一个 Javadoc 注释在 Java 元素之前,则当重新应用转换时,该元素(例如 transformGenerated())不更新。

    /**
* A commented user-created method
*/
// private void userCreated() {
// }

/**
* @generated "..."
*/
public void transformGenerated() {
}

要变通此问题,请注释掉全部 Java 元素(全部方法、字段、类或接口定义)并将它们(包括所有前面的注释)移至 Java 源文件尾部的结束括号(})之前。然后,原始示例看上去如以下示例:

    /**
* @generated "..."
*/
public void transformGenerated() {
}

... 源文件尾部且结束括号之前 ...

/**
* A commented user-created method
*/
// private void userCreated() {
// }

1.3 转换可能从源代码除去 Java 元素

如果源模型中不再指定 Java 元素,则 UML 到 Java 的转换可能从源代码中除去该元素。

例如,当重新应用转换时,如果在源模型中未定义方法(例如,importantUserCreated()),则从源代码除去该方法以及包含 Javadoc 的注释过的代码。

     /**
* @generated "..."
*/
// public void generatedMethodUserWantsToSave() {
// }

private void importantUserCreated() {
}

要变通此问题,请注释掉全部 Java 元素(全部方法、字段、类或接口定义),并将它们(以及所有前面的注释)移至 Java 源文件尾部的结束括号(})之前。然后,原始示例看上去如以下示例:

     private void importantUserCreated() {
}

... 源文件尾部且结束括号之前 ...

/**
* @generated "..."
*/
// public void generatedMethodUserWantsToSave() {
// }

返回到主自述文件