Especificando Condições para Regras de Mapeamento de Movimentação e de Submapa

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:
  1. Na área do editor, clique com o botão direito do mouse na regra de mapeamento e, em seguida, clique em Mostrar em Propriedades.
  2. Na visualização Propriedades, clique na guia Condição.
  3. Para criar uma condição, selecione a caixa de opção Aplicar uma condição a esta transformação.
  4. 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.
  5. Clique em Arquivo > Salvar.

Feedback