Interpretação de Elementos UML pelas Transformações UML em 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 Classe Java é final se true
Classe com uma propriedade É Abstrato Classe Java é abstrata se true
Classe com um relacionamento de generalização Classe Java estende a superclasse especificada
Realização de interface ou relacionamento de Realização entre uma classe e uma interface Classe Java implementa a interface especificada
Interface Classe Java com o mesmo nome e visibilidade
Interface com um relacionamento de generalização 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 Método Java é estático se true
Operação com uma propriedade É Abstrato Método Java é abstrato se true
Operação com uma propriedade É Folha Método Java é 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 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 Método Java possui um <param type> de retorno se estiver configurado para retornar

Método Java com <param type> <param name> em sua assinatura de método se não estiver configurado para retornar

Parâmetro ou propriedade com multiplicidades:
0..1 Atributo ou referência
1 Atributo
N (N>1) Matriz
x..* (por exemplo, 1..*), * ou x..y Consulte a tabela a seguir.
Em uma lista de parâmetros de operação, se o último parâmetro de operação tiver uma multiplicidade de * ou x..*, por padrão ele será transformado em um Java vararg (argumento de aridade variável, que é indicado por reticências após o tipo).
Nota: Para substituir este comportamento padrão e transformar o último parâmetro em uma coleção Java, selecione a extensão correspondente na configuração da transformação.

Se o parâmetro de operação tiver uma multiplicidade de x..y, ele será transformado em uma matriz.

Propriedade Campo Java com o mesmo nome e visibilidade
Propriedade com uma propriedade É Estático Campo Java é estático se true
Propriedade com uma propriedade É Folha Campo Java é final se true
Propriedade com uma propriedade de tipo 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 multiplicidade x..*, * ou x..y. Ao criar oi configurar uma configuração da transformação de UML em Java, é possível especificar que a transformação gera um tipo de coleção Java diferente. O tipo de coleção Java definido na configuração de transformação de UML em Java é aplicado a todos os parâmetros, exceto o último, o qual, por padrão, é transformado em um vararg. Para transformar o último parâmetro que possui multiplicidade x..*, * ou x..y em uma coleção Java, você deve concluir uma das etapas a seguir:
  • Selecione a extensão de transformação correspondente na configuração de transformação. Consulte o tópico da tarefa relacionado abaixo para obter informações sobre como configurar uma transformação do UML em Java.
  • Aplique o estereótipo «JavaCollection» ao parâmetro ou à propriedade de UML correspondente e configure a propriedade collectionType do estereótipo.
Propriedade isOrdered Propriedade isUnique Coleta UML Tipo Java Gerado
true true Conjunto ordenado java.util.SortedSet
true false Sequê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:
/*
 * <!-- begin-UML-doc -->
 * <!-- encerrar-doc-UML -->
 */

Feedback