Interpretação de Elementos UML pelas Transformações UML-para-Java

Os elementos Java™ que as transformações geram dependem dos elementos UML de origem e suas características.

A tabela a seguir lista como as transformações transformam elementos UML em elementos Java.

Elemento UML Elemento Java
Pacote Pacote Java com o mesmo nome
Pacote com o estereótipo «perspective» Ignorado
Pacote com a palavra-chave «analysis» ou «Analysis» Ignorado
Classe Classe Java com o mesmo nome e visibilidade
Classe com uma propriedade É Folha A classe Java será final se true
Classe com uma propriedade É Abstrato A classe Java será abstrata se true
Classe com um relacionamento de generalização A classe Java estende a superclasse especificada
Realização de interface ou relacionamento de Realização entre uma classe e uma interface A classe Java implementa a interface especificada
Interface Interface Java com o mesmo nome e visibilidade
Interface com um relacionamento de generalização A interface Java estende a interface especificada
Enumeração Enumeração Java

Se a transformação não estiver configurada para gerar código compatível com o J2SE 5.0, a transformação gerará uma interface Java com o mesmo nome e visibilidade.

Literal de enumeração Enumerador
Operação Método Java com o mesmo nome e visibilidade
Operação com uma propriedade É Estático O método Java será estático se true
Operação com uma propriedade É Abstrato O método Java será abstrato se true
Operação com uma propriedade É Folha O método Java será final se true
Operação com o mesmo nome que sua classe Construtor Java
Operação com o estereótipo «create» Construtor Java
Operação com uma ou mais classes UML especificadas na propriedade RaisedException Instrução Java throws seguida pela lista de classes lançáveis
Parâmetro Parâmetro Java com o mesmo nome
Parâmetro com uma propriedade de tipo O parâmetro Java possui o tipo especificado, que pode ser uma outra classe ou um tipo primitivo
Parâmetro com uma propriedade de direção O método Java terá um <tipo de parâmetro> de retorno se estiver configurado para ser retornado

Método Java com <tipo de parâmetro> <nome do parâmetro> em sua assinatura de método, se não estiver configurado para ser retornado

Parâmetro ou propriedade com multiplicidades:
0..1 Atributo ou referência
1 Atributo
N (N>1) Matriz
1..*, * ou x..y Consulte a tabela a seguir
Propriedade Campo Java com o mesmo nome e visibilidade
Propriedade com uma propriedade É Estático O campo Java será estático se true
Propriedade com uma propriedade É Folha O campo Java será final se true
Propriedade com uma propriedade de tipo O campo Java possui o tipo especificado, que pode ser uma outra classe ou um tipo primitivo
Nota: Alguns caracteres, como espaço, não são válidos em identificadores Java. As transformações substituem caracteres inválidos com um sublinhado (_) para criar um identificador válido. Essa substituição pode causar conflitos de nomes que impedem que as transformações gerem classes e interfaces duplicadas. Para evitar esses problemas de substituição, renomeie os elementos ou utilize o recurso de mapeamento para especificar um nome alternativo que não modifique o modelo de origem.

A tabela a seguir lista como as transformações processam parâmetros e propriedades com determinada multiplicidade. Ao criar ou configurar uma configuração de transformação UML-para-Java, você pode especificar que a transformação gere um tipo de coleta Java diferente.

Propriedade isOrdered Propriedade isUnique Coleta UML Tipo Java Gerado
true true Conjunto ordenado java.util.SortedSet
true false Seqüência java.util.List
false true Conjunto java.util.Set
false false Pacote java.util.Collection

Documentação UML

A transformação copia o texto no campo de documentação UML de um elemento UML e o coloca entre as seguintes tags no código Java que a transformação gera para o elemento:
/*
 * <!-- iniciar-doc-UML -->
 * <!-- encerrar-doc-UML -->
 */

Feedback