You
can specify whether the custom mapping rule invokes inline or external code
that calculates the value of an output property in a model-to-model transformation.
You can specify semantic refinements by using Java™ code fragments or classes.
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, and
a custom mapping rule must be defined in the mapping declaration.
To specify the code that a custom mapping rule implements when
you run the transformation:
- In the editor area, right-click the mapping
rule; then click Show in Properties.
- In the Properties view, click the Details tab.
- Complete one of the following steps:
- Click Inline to enter the code in the text
area below the Code option. Specify the code that implements
the custom mapping rule when you run the transformation; then click Apply.
Tip: To see a list of valid
variable names, in the text area below the Inline button,
press Ctrl+Space.
- Click External if the code for the custom mapping
rule is located in a Java class. In the Class field,
specify the Java class that contains the code to apply for the custom
mapping rule. Click Browse to select a valid class
from the workspace.
Note: The Java class that you specify must extend
the com.ibm.xtools.transform.authoring.RuleExtension class.
The execute(EObject source, EObject target) method of the
class that you specify is invoked with instances of the type of the mapped
input feature and the type of the mapped output feature.
- Click .