Defining a Live Template for Null-Check

alexandra.rusina

Note   This tip&trick was contributed by both Bas Leijdekkers and Etienne Studer.

The Live Templates provided by IntelliJ IDEA are very convenient while programming, due to their smart and context-aware behavior. On top of the predefined Live Templates, one can add custom Live Templates. For example, you can add a Live Template that creates the code to check a variable for null, intelligently suggesting all non-primitive variables in scope as candidates.
1.   Open IDE Settings | Live Templates, and click the Add button.
2.   Specify the fields as shown on the screenshot below.
  Defining Live Template
This particular example throws NPE if the expression is null. If you want just to create a conditional statement, you can write the following template text:
  if($EXPR$==null) {$END$;}
  In this case, the caret will be simply placed inside the if block.
3.   Now it is necessary to specify the meaning of the “EXPR” variable. Click Edit variables and specify values as shown below.
  Edit template variable
Once the custom Live Template is defined, you can type its abbreviation (ncheck) in your Java code, and then press Tab. IntelliJ IDEA will fill in the null-check, allowing you to choose from all objects and variables in scope.
For example, if you want to check constructor parameters for null, it will look like shown below.
Use Template

Comments below can no longer be edited.

9 Responses to Defining a Live Template for Null-Check

  1. Chris Mathews says:

    March 11, 2006

    I know it isn’t the point of the example… but I find it amusing that the NullPointer check is itself a victim of a NullPointer (o.toString() will always result in an NPE in your example). 🙂

  2. Alexandra Rusina says:

    March 12, 2006

    Ooops…
    Corrected. Thanks for the comment.

  3. Corby Page says:

    March 13, 2006

    Another Cool Live Template Example here:

    http://tinyurl.com/q3wde

  4. Sandy McArthur says:

    March 14, 2006

    It’s not really a NullPointerException until an attempt to dereference null has been made. Until then it’s an IllegalArgumentException.

  5. martin xus says:

    March 14, 2006

    IDEA’s blog

    TrackBack From:http://www.blogjava.net/martinx/archive/2006/03/14/35302.html

  6. Eugene Vigdorchik says:

    March 15, 2006

    Notice that in Demetra we’ll have an option to insert such guard code for checking null values to be passed to @NotNull parameter or null returned by @NotNull method automatically during compilation process.

  7. Bounded beans in IntelliJ IDEA | Spackos62-Java Blog says:

    June 19, 2009

    […] create a new Live Template and set the name to something like “fpc”. The template […]

  8. Get Better At: IntelliJ IDEA | On Technology and Tea « Matthew Morten says:

    December 13, 2010

    […] create you’re own templates, I would recommend you take a look at this Jetbrains blog post describing how to create a null-check […]

  9. Stijn says:

    September 8, 2011

    This is one I wrote:

    org.apache.commons.lang.Validate.notNull($EXPR$, “Method called with null parameter ($EXPR$)”);

Subscribe

Subscribe for updates