Substitution Examples

Field substitution macros can be used in one of two ways:

·Direct Substitution or
·Conditional Substitution
 

Direct Substitution

This form directly substitutes the corresponding value of the element in scope into the output.

Structure: %<macroName>%

Where <macroName> can be any of the macros listed in the Field Substitution Macros tables.

Examples

·%className%
·%opName%
·%attName%
 

Conditional Substitution

This form of the macro enables alternative substitutions to be made depending on the macro's value.

Structure: %<macroName> (  == "<text>" )  ? <subTrue> (  : <subFalse>  ) %

Where:

·( ) denotes that values between the parentheses are optional
·<text> is a string representing a possible value for the macro
·<subTrue> and <subFalse> can be a combination of quoted strings and the keyword value; where the value is used, it is replaced with the macro's value in the output.

Examples

·%classAbstract=="T" ? "pure" : ""%
·%opStereotype=="operator" ? "operator" : ""%
·%paramDefault != "" ? " = " value : ""%
 

The above three examples output nothing if the condition fails. In this case the false condition can be omitted, resulting in the following usage:.

·%classAbstract=="T" ? "pure"%
·%opStereotype=="operator" ? "operator"%
·%paramDefault != "" ? " = " value%
 

The third example of both blocks shows a comparison checking for a non-empty value or existence.  This test can also be omitted.

·%paramDefault ? " = " value : ""%
·%paramDefault ? " = " value%

 
All of the above examples containing paramDefault are equivalent.  If the parameter in scope had a default value of 10, the output from each of them would normally be:

= 10
 

Notes

·In a conditional substitution macro, any white space following <macroName> is ignored; if white space is required in the output, it should be included within the quoted substitution strings

 

Learn more