-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating
Implementing Domain-Specific Languages with Xtext and Xtend - Second Edition
By :
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 ?: y returns x if it is not null and y otherwise.
Combining the two operators allows you to set up default values easily, for example:
// equivalent to: if (o != null) o.toString else 'default' result = o?.toString ?: 'default'
The with operator (or double...