elvis pattern refinement (was Syntax patterns)

Stephen Colebourne scolebourne at joda.org
Fri Apr 24 09:45:21 PDT 2009


2009/4/24 Ruslan Shevchenko <rssh at gradsoft.com.ua>:
> But I mean this is incorrect, becouse it does not cover case of
> 'null-safe method call' (which is often used for describing elvis).

Officially, 'Elvis' just refers to the 'default if null' pattern. The
other operators are the 'null-safe' operators.

> So, for example, in jetty we see only one matching for four patterns.
> More - rereading  proposal, I see that I implement check for 'safe method
> call' but in proposal we have 'safe index; safe field access, .. etc)
>
> So, let's explicit define all aviable patterns.
>
> First question: is 'safe-method call': i. e.
> (a==null ? b : a.method(...)) pattern is correct ?
> // Which can be rewritten as    a?.method() ?: b

If I were writing Java today without the null-safe operators, then I
would typically use an if-statement:

if (foo != null) {
  foo.process();
}

Bar bar = null;
if (foo != null) {
  bar = foo.process();
}

Stephen



More information about the coin-dev mailing list