Interpretação do código-fonte pelas transformações de Java a UML

Os elementos UML que a transformação gera dependem das características do código Java™ especificado como a origem da transformação. Se a transformação não puder transformar um elemento Java, ela ignora o elemento.

Classes Java

A tabela a seguir lista como a transformação transforma classes Java em classes UML:
Propriedades da classe Java Saída da Transformação
Pacote Classe em um pacote com o mesmo nome que o pacote Java
Nome Classe com o mesmo nome
Visibilidade Mesma visibilidade que a classe de origem Java
Especifica a palavra-chave final A propriedade É Folha está configurada para verdadeiro
Especifica a palavra-chave abstrata A propriedade É Abstrata está configurada para verdadeiro
Estende uma superclasse Relacionamento de generalização entre a classe e a superclasse
Implementa uma interface Relacionamento de realização da interface entre a classe e a interface
Importação estática (J2SE 5.0) Relacionamento de uso entre a classe e o elemento importado

Interfaces Java

A tabela a seguir lista como a transformação transforma interfaces Java em interfaces UML:
Propriedades da interface Java Saída da Transformação
Pacote Interface em um pacote com o mesmo nome que o pacote Java
Nome Interface com o mesmo nome
Visibilidade Mesma visibilidade que a interface de origem Java
Especifica a palavra-chave abstrata A propriedade É Abstrata está configurada para verdadeiro
Estende uma superinterface Relacionamento de generalização entre a interface e a superinterface
Importação estática (J2SE 5.0) Relacionamento de uso entre a interface e o elemento importado

Enumerações de Java

A tabela a seguir lista como a transformação transforma enumerações de Java em enumerações de UML:
Propriedades da enumeração de Java Saída da Transformação
Pacote Enumeração em um pacote com o mesmo nome que o pacote Java
Nome Enumeração com o mesmo nome
Visibilidade Mesma visibilidade que a enumeração de origem de Java
Especifica a palavra-chave final A propriedade É Folha está configurada para verdadeiro
Especifica a palavra-chave abstrata A propriedade É Abstrata está configurada para verdadeiro
Importação estática (J2SE 5.0) Relacionamento de uso entre a interface e o elemento importado

Campos Java em Classes ou Interfaces Java

A tabela a seguir lista como a transformação transforma campos Java localizados em classes ou interfaces Java:
Propriedades do atributo Java Saída da Transformação
Nome Propriedade com o mesmo nome
Visibilidade Mesma visibilidade que a propriedade de origem Java
Especifica a palavra-chave estática A propriedade É Estática está configurada para verdadeiro
Especifica a palavra-chave final A propriedade É Folha está configurada para verdadeiro
Especifica a palavra-chave abstrata A propriedade É Abstrata está configurada para verdadeiro
Tipo (tipos não de coleta) A propriedade é configurada para um tipo primitivo, um elemento UML no modelo ou uma referência ao tipo Java
Tipo (tipos de coleta) A propriedade Tipo é nula; a transformação configura as propriedades do estereótipo «JavaArray» ou «JavaCollection» se puder identificar se o código contém uma coleta ou matriz e seu tipo
Tipo genérico (J2SE 5.0) A propriedade Tipo é configurada para o tipo na classe ou interface Java; a transformação configura as propriedades do estereótipo «JavaArray» ou «JavaCollection» se puder identificar se o código contém uma coleta ou matriz e seu tipo

Propriedades Java em Enumerações Java

A transformação transforma uma propriedade Java em uma enumeração em um literal de enumeração UML que tem o mesmo nome.

Métodos Java em Classes e Interfaces Java

A tabela a seguir lista como a transformação transforma métodos Java em classes e interfaces em operações UML:

Propriedades do método Java Propriedades da operação UML
Nome Operação com o mesmo nome
Visibilidade Mesma visibilidade que o método de origem Java
Especifica a palavra-chave estática A propriedade É Estática está configurada para verdadeiro
Especifica a palavra-chave final A propriedade É Folha está configurada para verdadeiro
Parâmetros Parâmetro com as mesmas propriedades que o parâmetro Java; a transformação gera os parâmetros na mesma ordem que eles aparecem no método .Java

Se o método Java contiver um parâmetro de retorno, a transformação gera o parâmetros de retorno da operação antes de gerar outros parâmetros para a operação. Consulte a tabela Parâmetros do Método Java.

Especifica uma instrução throws e um ou mais objetos que podem ser emitidos A propriedade RaisedException da operação UML especifica as classes de exceção na instrução throws
Dica: Para visualizar as propriedades da operação UML, na visualização Project Explorer, clique com o botão direito do mouse na operação UML; em seguida, clique em Propriedades de UML.

Parâmetros do Método Java

A tabela a seguir lista como a transformação transforma os parâmetros do método Java:
Parâmetro Java parâmetro UML
Variável (J2SE 5.0) Multiplicidade configurada para *
Entrada Direção configurada para entrada
Retornar Direção configurada para retornar; o parâmetro gerado é denominado ReturnParameter
A tabela a seguir lista como a transformação gera as propriedades que são comuns para os tipos de parâmetros listados acima:
Propriedades do parâmetro do método Java Propriedades do parâmetro UML
Nome Parâmetro com o mesmo nome
Tipo (tipos não de coleta) A propriedade é configurada para um tipo primitivo, um elemento UML no modelo ou uma referência ao tipo Java
Tipo (tipos de coleta) A propriedade Tipo está configurada para nulo; a transformação configura as propriedades do estereótipo «JavaArray» ou «JavaCollection» se puder identificar se o código contém uma coleta ou matriz e seu tipo
Tipo genérico (J2SE 5.0) Propriedade Tipo configurada para o tipo na classe ou interface Java; a transformação configura as propriedades do estereótipo «JavaArray» ou «JavaCollection» se puder identificar se o código contém uma coleta ou matriz e seu tipo

Comentários Java

A transformação copia o texto entre as seguintes tags para a propriedade da documentação UML para o elemento UML correspondente.
/**
 *<!-- begin-UML-doc -->
 * This documentation is copied into the UML documentation property for the corresponding UML element.
 *<!-- end-UML-doc -->
 */

Transformação de Propriedades de Coleta Java

Ao executar a transformação, se puder identificar as coletas ou matrizes Java no código e identificar o tipo de coletas ou matrizes, a transformação aplica o estereótipo «JavaCollection» ou «JavaArray» ao elemento UML gerado e preeche os valores das propriedades do estereótipo. Caso contrário, a transformação gera uma referência adaptável e não aplica um estereótipo ao elemento UML gerado.

A tabela a seguir lista os valores padrão que a transformação configura para as propriedades de tipos de coleta UML, se a transformação aplicar o estereótipo «JavaCollection» ou «JavaArray» ao elemento UML gerado. Esses valores podem diferir se você especificar diferentes tipos de coleta na configuração da transformação. Para cada elemento UML gerado, é possível visualizar os valores dessas propriedades na visualização Propriedades na guia Avançado. Consulte a tabela Multiplicidade UML para Propriedades e Parâmetros para obter informações adicionais sobre como a transformação configura a propriedade de multiplicidade UML em elementos UML gerados.
Tipo Java Tipo UML gerado Propriedade É Ordenado Propriedade É Exclusivo Propriedade collectionType
java.util.Collection Repositório: Uma coleta não ordenada que permite elementos duplicados false false java.util.Collection
java.util.List Seqüência: Uma coleta ordenada que permite elementos duplicados true false java.util.List
java.util.Set Conjunto: Uma coleta não ordenada que não permite elementos duplicados false true java.util.Set
java.util.SortedSet Conjunto ordenado: Uma coleta ordenada que não permite elementos duplicados true true java.util.SortedSet

Multiplicidade UML para Propriedades e Parâmetros

A tabela a seguir lista como a transformação configura a propriedade de multiplicidade para as propriedades e tipos de parâmetros Java que transforma:
Tipo Java Exemplo Multiplicidade UML
Atributo String x 0..1
Matriz com dimensões String[3] x N, onde N>1
Matriz sem dimensões String[] x 0..*
Tipo de coleta Java especificado na configuração de transformação java.util.Set *

Construções Java que a Transformação Não Transforma

A transformação não transforma as seguintes construções Java:
  • Anotações

Feedback