O perfil de
transformação UML-para-Java contém
vários estereótipos que podem ser aplicados para validar elementos no modelo de
origem e estereótipos que controlam como a transformação gera o código Java™.
Importante: Não aplique o perfil de
transformação UML-para-Java (reprovado)
a um modelo de origem. Em vez disso, você deve aplicar o perfil de
transformação UML-para-Java.
O
perfil reprovado não contém novos estereótipos
e as regras de validação são diferentes para estereótipos com o mesmo nome
que os estereótipos no perfil de transformação UML-para-Java. A única vez em que você poderia aplicar o perfil
reprovado seria se migrasse um modelo UML de uma versão 6 release de Produtos de Modelagem do
IBM® Rational
e desejasse validar o modelo de origem automaticamente, utilizando um conjunto mais antigo de
regras de validação.
O perfil de
transformação UML-para-Java
contêm estereótipos que podem validar elementos de modelo de origem. A aplicação do
perfil a um modelo não aplica os estereótipos no perfil automaticamente. Você deve aplicar o estereótipo apropriado a cada elemento de modelo que você desejar
validar. Esses estereótipos de validação são utilizados apenas na fase de modelagem
e não afetam como a transformação gera o código-fonte Java. O processo de validação
verifica se há problemas, tais como várias heranças, generalizações circulares,
conflitos de nomenclatura, conflitos de propriedades e conflitos de visibilidade de
classes e interfaces mais altas privadas ou protegidas.
Uma caixa de diálogo de aviso será exibida
se o elemento não estiver em conformidade com as regras de validação. Por exemplo, se você
aplicar o estereótipo «JavaClass» a uma classe no modelo de origem e renomear
a classe para My$Class, uma mensagem de aviso será exibida.
Nota: Modelos complexos
e maiores podem levar mais tempo para serem abertos, salvos ou fechados, dependendo do número
de estereótipos aplicados que validam os elementos de modelo de origem.
A tabela a seguir lista os estereótipos que podem ser aplicados
para validar os elementos de modelo de origem.
| Estereótipo |
Elemento de Modelo de Origem Validado |
| «JavaClass» |
Classe |
| «JavaEnum» |
Enumeração |
| «JavaEnumConstant» |
Literal de enumeração |
| «JavaField» |
Atributo em uma classe |
| «JavaInterface» |
Interface |
| «JavaMethod» |
Operação em uma classe |
| «JavaPackage» |
Pacote |
| «JavaParameter» |
Parâmetro de entrada, saída ou retorno |
O perfil de transformação UML-para-Java também
contém estereótipos que a transformação UML-para-Java
utiliza para gerar código Java para matrizes e coletas.
Esses estereótipos
são aplicados automaticamente quando você executa a transformação.
A aplicação desses
estereótipos não afeta as atividades de modelagem.
A tabela a seguir lista os estereótipos que podem ser aplicados para especificar
como a transformação gera código Java.
Nota: A aplicação do estereótipo «JavaArray» ou «JavaCollection»
substitui as informações de coleta padrão que você especifica na
configuração de transformação.
| Estereótipo |
Elemento UML Aplicável |
Propriedades |
Descrição e Valores das Propriedades |
Resultado da Transformação |
| «JavaArray» |
Propriedade, parâmetro |
dimensões |
Especifica o tamanho da matriz O valor padrão
é 1
|
Matrizes Java de dimensões arbitrárias Por
exemplo, para gerar uma matriz no formato int[][], aplique
o estereótipo «JavaArray» a uma propriedade ou parâmetro, configure o tipo do
atributo para o tipo primitivo int e configure o valor de dimensões para 2
|
| «JavaCollection» |
Propriedade ou parâmetro; representa classes de coleta Java,
como Conjunto, Lista |
collectionType |
Configure para o nome completo da coleta Java
a ser gerada O valor padrão é java.util.Collection
|
Classes de coleta Java, tais como Conjunto ou
Lista Por exemplo, para gerar um mapa do tipo Hashmap<Cadeia, Objeto>,
você pode aplicar o estereótipo «JavaCollection» a uma propriedade ou parâmetro UML,
configurar o collectionType para java.util.Hashmap e configurar o keyType para java.lang.String
|
| keyType |
Configure para o nome completo de um tipo de chave utilizado
no java.util.Maps Não especifique um valor se a propriedade collectionType
não for uma classe do mapa Java
Nenhum valor padrão
|
| «JavaRedirect» |
Qualquer tipo UML |
redirect |
Redireciona para qualquer outro tipo UML |
A transformação UML em Java gerará todas as referências para o «JavaRedirect» como o
tipo redirecionado em vez disso.
Isso permite que qualquer tipo seja especificado como um parâmetro de modelo UML, para os propósitos de
geração de
códigoJava. |
Esse conteúdo se
aplica à versão 7.5.1, ou posterior.O perfil de
transformação UML-para-Java também contém estereótipos que você
pode aplicar a elementos UML para modelar tipos
genéricosJava.
A
tabela a seguir lista os estereótipos que podem ser aplicados a elementos de modelo para modelar
Java genéricos:
| Estereótipo |
Elemento UML Aplicável |
| «JavaGenericInstance» |
Classe |
| «JavaWildCard» |
TemplateParameterSubstitution |
| «JavaTypeParameter» |
TemplateParameter |
A partir do release 7.5.3, o
estereótipo «JavaWildCard» pode ser aplicado a uma classe UML permitindo que um curinga seja o tipo de um
elemento de multiplicidade com tipo ou para um elemento com tipo com um estereótipo «JavaWildCard».