001 package com.croftsoft.core.lang;
002
003 /**********************************************************************
004 * A RuntimeException that is thrown when the arguments are null.
005 *
006 * <p>
007 * The static convenience method <i>check()</i> is a useful shorthand
008 * notation for checking whether object constructor method arguments
009 * are null:
010 * <pre><code>
011 * public Book (
012 * final String title,
013 * final String author )
014 * {
015 * NullException.check (
016 * this.title = title,
017 * this.author = author );
018 * }
019 * </code></pre>
020 * </p>
021 *
022 * @version
023 * $Id: NullException.java,v 1.1 2008/02/10 22:53:21 croft Exp $
024 * @since
025 * 2008-02-10
026 * @author
027 * <a href="http://www.CroftSoft.com/">David Wallace Croft</a>
028 **********************************************************************/
029
030 public final class NullException
031 extends RuntimeException
032 ///////////////////////////////////////////////////////////////////////
033 ///////////////////////////////////////////////////////////////////////
034 {
035
036 private static final long serialVersionUID = 0L;
037
038 ///////////////////////////////////////////////////////////////////////
039 // public static methods
040 ///////////////////////////////////////////////////////////////////////
041
042 public static void check ( Object... args )
043 ///////////////////////////////////////////////////////////////////////
044 {
045 for ( final Object arg : args )
046 {
047 if ( arg == null )
048 {
049 throw new NullException ( );
050 }
051 }
052 }
053
054 ///////////////////////////////////////////////////////////////////////
055 // public constructor methods
056 ///////////////////////////////////////////////////////////////////////
057
058 public NullException ( )
059 ///////////////////////////////////////////////////////////////////////
060 {
061 // empty
062 }
063
064 public NullException ( String detailMessage )
065 ///////////////////////////////////////////////////////////////////////
066 {
067 super ( detailMessage );
068 }
069
070 ///////////////////////////////////////////////////////////////////////
071 ///////////////////////////////////////////////////////////////////////
072 }