Elvis operator (?:) es una versión corta del operador ternario de Java. Literalmente es la abreviación de "if-then-else". Este operador es muy útil para, por ejemplo, definir valores por defecto si no se han indicado antes, lo que significa que tendrán valor null o false.
Veamos un par de ejemplos.
def nombre = nombre?:"desconocido"
def otro = nombre=="desconocido"?"a":"b"
En el primer ejemplo, si el nombre tiene algún valor, se asigna ese valor, y en caso contrario se le asigna el string "desconocido". La primera parte del operador se conoce como expresión. Si esa expresión se evalúa a false o null, entonces el valor después de : es devuelto, si no el posterior a ? es el que será devuelto. En el segundo caso, si el nombre es "desconocido", la variable otro tendrá valor "a" y si no "b".
Puede que al principio cueste un poco acostumbrarse a este operador, pero una vez que lo hagáis, os daréis cuenta de que lo podéis usar en muchos sitios para abreviar código.
Enjoy!