Há dois tipos de código que podem estar em um arquivo de código-fonte de modelagem UML: o código-fonte que você escreve ou aquele gerado pela ferramenta de modelagem UML. Durante o processo de geração do código-fonte, as configurações definidas nos modelos de domínio determinam quais os arquivos de modelo e parâmetros de entrada e saída serão usados. Por padrão, o código-fonte gerado é anotado com a marcação //#[regen=yes, id=<generated_value>].
Quando o código-fonte de um modelo UML for gerado novamente, o processo de sincronização do código-fonte substituirá o elemento de código-fonte que possui a marcação //#[regen=yes] antes dele. Se a marcação //#[regen=yes] for removida manualmente, o processo de sincronização de código-fonte não substituirá automaticamente o elemento de código-fonte gerado anteriormente.
Na caixa de diálogo Gerar código, é possível especificar que os marcadores de mesclagem sejam adicionados aos elementos de código-fonte existentes não marcados. Os comentários do marcador são exibidos no formato //#[(name=value(,name=value)*?] em que os parâmetros "name=value" podem ser:
| Parâmetro | Definição |
|---|---|
regen=yes/no |
Especifica se o elemento de código-fonte pode ser gerado novamente. Se este parâmetro não estiver presente, o elemento de código-fonte não será gerado novamente |
regenBody=yes/no |
Especifica se o cabeçalho ou se o cabeçalho e o corpo do elemento de código-fonte podem ser gerados novamente. Se este parâmetro não estiver presente, o valor padrão é no. |
id=<a unique id value> |
Usado inicialmente para fazer a correspondência de elementos (tipos, atributos, métodos ou literais enumeradas) do arquivo recém-gerado com a versão anterior do arquivo de código-fonte |
Também é possível adicionar marcadores manualmente como um comentário de linha única antes do elemento a ser marcado. Os únicos parâmetros que podem ser manualmente adicionados são os dois primeiros parâmetros da tabela acima. O parâmetro id é gerado automaticamente e adicionado durante o próximo processo de geração de código.