View Javadoc

1   package net.trajano.twiff.internal.util;
2   
3   /***
4    * Extends {@link org.apache.commons.lang.ObjectUtils} with Java 5.0 constructs.
5    * 
6    * @author Archimedes Trajano
7    */
8   public class ObjectUtils extends org.apache.commons.lang.ObjectUtils {
9       /***
10       * Scans through a list of values and returns the first non-<code>null</code>
11       * value. If all values are <code>null</code>, this method will return
12       * <code>null</code>.
13       * 
14       * @param <T>
15       *                   value type.
16       * @param values
17       *                   a list of values
18       * @return first non-<code>null</code>l value.
19       */
20      public static <T extends Object> T defaultIfNull(final T... values) {
21          for (T value : values) {
22              if (value != null) {
23                  return value;
24              }
25          }
26          return null;
27      }
28  }