The transformation does not update or refactor code beyond the scope of the source or target that you specify in the transformation configuration. If code that is beyond the transformation scope contains references to changed model elements, you must update the code manually.
The following table lists how the transformation handles changes to previously generated code when you rerun a transformation, assuming that you do not remove the @generated tag.
| Code element | Change | Impact on previously generated code when you rerun the
transformation Note: Unless indicated
otherwise, it is assumed that you have configured the transformation to create
trace relationships between source and target elements.
|
|---|---|---|
| Non-nested class or interface (includes top-level classes and interfaces) | Add implementation or extension | The added implementation or extension is removed. |
| Move | If you move the Java file to a project outside of the scope
of the transformation, the transformation creates a Java file
in the location defined in the source model. If you move the Java class or interface to a different package in the project, the transformation moves the Java file back to the original location. The file overwrite option that you specify in the transformation configuration determines whether the previously generated Java file is deleted. If
the transformation is not configured to create trace relationships:
|
|
| Remove implementation or extension | The previously generated implementation or extension is restored. | |
| Rename | The class is refactored to reflect the class name in the UML model | |
| Field | Move within the same Java file | The field and its getters and setter methods,
if generated, are restored to the original location that the model defines. Changes to generated getter and setter method bodies are preserved. |
| Move to a different Java file | The field and its getter and setter methods,
if generated, are deleted from the new location if the new location is a generated Java file,
and regenerated in the original location that the model defines. Changes to generated getter and setter method bodies are not preserved. If
the transformation is not configured to create trace relationships:
|
|
| Rename | The field and associated getter and setter methods are restored to the original name that the model defines. | |
| Import statement | Add | The import statement is retained. |
| Method | Modify return type | The previously generated return type is restored. |
| Modify signature | The previously generated method and signature
are restored. The method with the new signature is removed. Changes to the method body are preserved. |
|
| Move within the same Java file | The method is restored to the original location
that the model defines. Changes to the method body are preserved. The method in the new location is removed. |
|
| Move to a different Java file | If the new location is a generated Java file,
the method is deleted from the new location, and created in the original location.
If the new location is a non-generated Java file, the method is not deleted from
the new location, and the method is regenerated in the original location that
the model defines. Changes to the method body are not preserved. |
|
| Rename | The previously generated method is restored. The renamed method is removed. |
|
| Nested class or interface | Move within the same Java file | If the new location is a generated Java file,
the nested element is restored to the original location that the model defines. All elements are regenerated in the original location that the model defines. Changes to the nested elements are preserved. |
| Move to a different Java file | If the new location is a generated Java file,
nested elements and all child elements are deleted from the new location. All elements are regenerated in the original location that the model defines. Changes to the nested elements are not preserved. |
|
| Nested class or interface | Rename | The previously generated class or interface
is restored to the original name that the model defines. Changes to the nested elements are preserved. If the transformation is not configured
to create trace relationships:
|
| Qualifier | Modified | The previously generated qualifier is restored using the values in the Keywords property of the UML element. |