É
possível especificar se a regra de mapeamento customizada chamará código seqüencial ou externo
que calcula o valor de uma propriedade de saída em uma transformação de modelo em modelo. Você pode especificar refinamentos de semântica utilizando fragmentos de código ou classes Java™.
Antes de Iniciar
É necessário ter um modelo de mapeamento aberto. Um modelo de mapeamento tem .mapping como extensão de nome de arquivo. O modelo de mapeamento deve conter pelo menos uma declaração
de mapeamento e
uma regra de mapeamento customizada deve estar definida na declaração de mapeamento.
Por Que e Quando Desempenhar Esta Tarefa
Para especificar o código implementado por uma regra de mapeamento customizada ao
executar a transformação:
- Na área do editor, clique com o botão direito do mouse na regra de
mapeamento e, em seguida, clique em Mostrar em Propriedades.
- Na visualização Propriedades, clique na guia Detalhes.
- Execute uma das etapas a seguir:
- Clique em Seqüencial para digitar o código na área de
texto abaixo da opção Código. Especifique o código que implementa
o mapeamento customizado ao executar a transformação e, em seguida, clique em Aplicar.
Dica: Para consultar uma lista de nomes de
variáveis válidos, na área de texto abaixo do botão Seqüencial,
pressione Ctrl+Espaço.
- Clique em Externo se o código da regra de mapeamento
customizada estiver localizada em uma classe Java.
No campo Classe,
especifique a classe Java que contém o código a ser aplicado para a regra de mapeamento
customizada. Clique em Procurar para selecionar uma classe válida no espaço de trabalho.
Nota: A classe Java especificada deve estender
a classe com.ibm.xtools.transform.authoring.RuleExtension.
O método execute(EObject source, EObject target) da
classe especificada é chamado com instâncias do tipo do recurso de entrada
mapeado e do tipo do recurso de saída mapeado.
Dica: Para
criar uma classe que implemente uma regra de mapeamento customizada, clique em Nova
e, em seguida, preencha os campos na janela Nova Classe Java.
- Clique em .