Specifying conditions for move and submap
mapping rules
When
you specify a condition, a mapping rule is applied to an instance of the input
element only when the Java™ code that is specified returns a Boolean
value of true. If you do not specify a condition, the mapping
rule is always applied when you run the transformation. You can specify semantic refinements
by using the Object Constraint Language (OCL) API that Eclipse provides.
You must have
a mapping model open. A
mapping model has .mapping as a file name extension. The mapping model must contain at least one mapping
declaration, which
must contain at least one move or submap mapping rule.
To specify a condition for a move or a submap mapping rule:
In the editor area, right-click the mapping
rule; then click Show in Properties.
In the Properties view, click the Condition tab.
To create a condition, select the Apply a condition
to this transformation check box.
To specify the implementation details of the condition, complete
one of the following steps:
To specify Java code that runs inline when you run
the transformation, click Inline in the text area below
the Code option. Specify the Java source
code in the text area below the Inline button; then
click Apply. The code that you specify must return
a Boolean value.
Tip: To see a list of valid
variable names, in the text area below the Inline button,
press Ctrl+Space.
To specify code that is in a Java class, click External.
In the Class field, specify the Java class
that contains the code. Click Browse to select a valid
class from the workspace.
Note: The Java class that you specify must extend
the org.eclipse.emf.query.conditions.Condition class. The isSatisfied() method
of the class that you specify is invoked with an instance of the input element,
and the method returns a Boolean value.