Em
transformações de modelo em modelo, ao especificar uma condição, uma regra de mapeamento
é aplicada a uma instância do elemento de entrada apenas quando o código Java™
especificado retorna um valor booleano
true.
Se você
não especificar uma condição, a regra de mapeamento será sempre aplicada durante a execução
da transformação.
Você pode especificar refinamentos semânticos utilizando a API Object Constraint Language (OCL) fornecida pelo Eclipse.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, que
deve conter pelo menos uma regra de mapeamento de movimentação ou de submapa.
Por Que e Quando Desempenhar Esta Tarefa
Para especificar uma condição para uma regra de mapeamento de movimentação ou de submapa:
- 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 Condição.
- Para criar uma condição, selecione a caixa de opção Aplicar uma condição
a esta transformação.
- Para especificar os detalhes de implementação da condição, conclua
uma das seguintes etapas:
- Para especificar código Java executado em seqüência durante a execução
da transformação, clique em Seqüencial na área de texto abaixo
da opção Código. Especifique o código-fonte Java
na área de texto abaixo do botão Seqüencial e, em seguida,
clique em Aplicar. O código especificado deve retornar
um valor booleano.
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.
- Para especificar código que esteja em uma classe Java, clique em Externo. No campo Classe, especifique a classe Java
que contém o código.
Clique em Procurar para selecionar uma classe válida no espaço de trabalho.
Nota: A classe Java especificada deve estender
a classe org.eclipse.emf.query.conditions.Condition.
O método isSatisfied() da classe especificada é chamado com uma instância do elemento de saída, e o método retorna um valor booleano.
Dica: Para criar
uma classe Java
que implemente uma condição, clique em Nova e, em seguida, preencha
os campos na janela Nova Classe Java.
- Clique em .