Coverage Report - be.objectify.led.util.ContractUtils
 
Classes in this File Line Coverage Branch Coverage Complexity
ContractUtils
82%
14/17
91%
11/12
3.5
 
 1  
 /*
 2  
  * Copyright 2009-2010 Steve Chaloner
 3  
  *
 4  
  * Licensed under the Apache License, Version 2.0 (the "License");
 5  
  * you may not use this file except in compliance with the License.
 6  
  * You may obtain a copy of the License at
 7  
  *
 8  
  *     http://www.apache.org/licenses/LICENSE-2.0
 9  
  *
 10  
  * Unless required by applicable law or agreed to in writing, software
 11  
  * distributed under the License is distributed on an "AS IS" BASIS,
 12  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13  
  * See the License for the specific language governing permissions and
 14  
  * limitations under the License.
 15  
  */
 16  
 package be.objectify.led.util;
 17  
 
 18  
 import java.util.Collection;
 19  
 
 20  
 /**
 21  
  * Utility methods for asserting contracts.
 22  
  *
 23  
  * @author Steve Chaloner
 24  
  */
 25  
 public class ContractUtils
 26  
 {
 27  
     private ContractUtils()
 28  0
     {
 29  0
     }
 30  
 
 31  
     /**
 32  
      * Checks if <i>object</i> is null.  An IllegalArgumentException is thrown
 33  
      * if it is null.
 34  
      *
 35  
      * @param object the object
 36  
      * @param objectName   the name to reference the object by for exception messages
 37  
      */
 38  
     public static void notNull(Object object,
 39  
                                String objectName)
 40  
     {
 41  335
         if (objectName == null)
 42  
         {
 43  7
             throw new IllegalArgumentException("objectName must not be null");
 44  
         }
 45  328
         if (object == null)
 46  
         {
 47  5
             throw new IllegalArgumentException(objectName + " must not be null");
 48  
         }
 49  323
     }
 50  
 
 51  
     /**
 52  
      * Checks if <i>objects</i> is null, and if any of its contents are null.  An
 53  
      * IllegalArgumentException is thrown if either of these cases are true.
 54  
      *
 55  
      * @param objects the array of objects
 56  
      * @param objectName  the name to reference the array by for exception messages
 57  
      */
 58  
     public static void nonNull(Object[] objects,
 59  
                                String objectName)
 60  
     {
 61  137
         notNull(objects,
 62  
                      objectName);
 63  
 
 64  212
         for (Object object : objects)
 65  
         {
 66  80
             if (object == null)
 67  
             {
 68  0
                 throw new IllegalArgumentException("All items of " + objectName + " must be non-null");
 69  
             }
 70  
         }
 71  132
     }
 72  
 
 73  
     /**
 74  
      * Checks if <i>objects</i> is null, and if any of its contents are null.  An
 75  
      * IllegalArgumentException is thrown if either of these cases are true.
 76  
      *
 77  
      * @param objects the collection of objects
 78  
      * @param objectName    the name to reference the collection by for exception messages
 79  
      */
 80  
     public static void nonNull(Collection objects,
 81  
                                String objectName)
 82  
     {
 83  80
         notNull(objects,
 84  
                      objectName);
 85  
 
 86  76
         for (Object object : objects)
 87  
         {
 88  76
             if (object == null)
 89  
             {
 90  1
                 throw new IllegalArgumentException("All items of " + objectName + " must be non-null");
 91  
             }
 92  
         }
 93  75
     }
 94  
 }