Impacto de Alterações de Código na Saída da Transformação UML-para-Java

Se você reexecutar a transformação UML-para-Java ou a transformação UML-para-EJB, ela processará as alterações feitas em qualquer código gerado anteriormente, dependendo do tipo de elemento de código e do tipo de alteração.

A transformação não atualiza ou refatora código além do escopo da origem ou do destino especificado na configuração de transformação. Se o código que estiver além do escopo de transformação contiver referências a elementos de modelo alterados, você deverá atualizar o código manualmente.

A tabela a seguir lista como a transformação manipula as alterações no código gerado anteriormente quando você reexecuta uma transformação, supondo que a tag @generated não seja removida.

Nota: A menos que indicado de outra maneira, a transformação inclui um marcador de aviso de problema na tag @generated do elemento de código alterado. O marcador de aviso indica que a transformação sobrescreverá o elemento. O texto de mensagem de aviso sugere que você remova a tag @generated para manter suas alterações.
Elemento de Código Alteração Impacto no Código Gerado Anteriormente ao Reexecutar a Transformação
Nota: A menos que indicado de outra maneira, presume-se que você tenha configurado a transformação para criar relacionamentos de rastreio entre os elementos de origem e de destino.
Classe ou interface não aninhada (inclui classes e interfaces mais altas) Incluir implementação ou extensão A implementação ou extensão incluída é removida.
Mover Se você mover o arquivo Java™ para um projeto fora do escopo da transformação, a transformação criará um arquivo Java no local definido no modelo de origem.

Se você mover a classe ou interface Java para um pacote diferente no projeto, a transformação moverá o arquivo Java de volta para o local original.

A opção de sobrescrita do arquivo que você especifica na configuração de transformação determina se o arquivo Java gerado anteriormente é excluído.

Se a transformação não estiver configurada para criar relacionamentos de rastreio:
  • Se você mover o arquivo Java para um projeto fora do escopo da transformação, a transformação criará um arquivo Java no local definido no modelo de origem.
  • Se você mover a classe ou interface Java para um pacote diferente no projeto, a transformação gerará um arquivo Java no local definido no modelo de origem.
  • A opção de sobrescrita do arquivo que você especifica na configuração de transformação determina se o arquivo Java gerado anteriormente é excluído.
Remover implementação ou extensão A implementação ou extensão gerada anteriormente é restaurada.
Renomear A classe é refatorada para refletir o nome da classe no modelo UML
Campo Mover dentro do mesmo arquivo Java O campo e seus métodos getters e setter, se gerados, são restaurados para o local original definido pelo modelo.

As alterações nos corpos dos métodos getter e setter gerados são preservadas.

Mover para um arquivo Java diferente O campo e seus métodos getters e setter, se gerados, serão excluídos do novo local, se o novo local for um arquivo Java gerado, e regenerados no local original definido pelo modelo.

As alterações nos corpos dos métodos getter e setter gerados não são preservadas.

Se a transformação não estiver configurada para criar relacionamentos de rastreio:
  • O campo será excluído do novo local e regenerado no local original definido pelo modelo.
  • Os métodos getter e setter, se movidos, não serão preservados no novo local e serão regenerados no local original definido pelo modelo.
Renomear O campo e os métodos getter e setter associados são restaurados para o nome original definido pelo modelo.
Instrução de importação Incluir A instrução de importação é mantida.
Método Modificar tipo de retorno O tipo de retorno gerado anteriormente é restaurado.
Modificar assinatura O método e a assinatura gerados anteriormente são restaurados.

O método com a nova assinatura é removido.

As alterações no corpo do método são preservadas.

Mover dentro do mesmo arquivo Java O método é restaurado para o local original definido pelo modelo.

As alterações no corpo do método são preservadas.

O método no novo local é removido.

Mover para um arquivo Java diferente Se o novo local for um arquivo Java gerado, o método será excluído do novo local e criado no local original. Se o novo local for um arquivo Java não gerado, o método não será excluído do novo local e será regenerado no local original definido pelo modelo.

As alterações no corpo do método não são preservadas.

Renomear O método gerado anteriormente é restaurado.

O método renomeado é removido.

Classe ou interface aninhada Mover dentro do mesmo arquivo Java Se o novo local for um arquivo Java gerado, o elemento aninhado será restaurado para o local original definido pelo modelo.

Todos os elementos serão representados no local original definido pelo modelo.

As alterações nos elementos aninhados são preservadas.

Mover para um arquivo Java diferente Se o novo local for um arquivo Java gerado, os elementos aninhados e todos os elementos-filho serão excluídos do novo local.

Todos os elementos serão representados no local original definido pelo modelo.

As alterações nos elementos aninhados não são preservadas.

Classe ou interface aninhada Renomear A classe ou interface gerada anteriormente é restaurada para o nome original definido pelo modelo.

As alterações nos elementos aninhados são preservadas.

Se a transformação não estiver configurada para criar relacionamentos de rastreio:
  • A classe ou interface gerada anteriormente é restaurada para o nome original definido pelo modelo.
  • As alterações nos elementos aninhados não são preservadas.
Qualificador Modificado O qualificador gerado anteriormente é restaurado utilizando os valores na propriedade Palavras-chave do elemento UML.

Feedback