Additional operators

Besides standard operators, Xtend has additional operators that help to keep the code compact.

Quite often, you will have to check whether an object is not null before invoking a method on it; otherwise, you may want to return null or simply perform no operation. As you will see in DSL development, this is quite a recurrent situation. Xtend provides the operator "?.", which is the null-safe version of the standard selection operator (the dot .). Writing o?.m corresponds to if (o != null) o.m. This is particularly useful when you have cascade selections, for example, o?.f?.m.

The Elvis operator ("?:") is another convenient operator for dealing with default values in case of null instances. It has the following semantics: x ?: ...

Get Implementing Domain-Specific Languages with Xtext and Xtend - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.