Coverage Report - de.smartics.util.lang.Arguments
 
Classes in this File Line Coverage Branch Coverage Complexity
Arguments
0%
0/17
0%
0/8
2
 
 1  
 /*
 2  
  * Copyright 2011-2012 smartics, Kronseder & Reiner GmbH
 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 de.smartics.util.lang;
 17  
 
 18  
 import org.apache.commons.lang.StringUtils;
 19  
 
 20  
 /**
 21  
  * Utility class to check arguments.
 22  
  */
 23  
 public final class Arguments
 24  
 {
 25  
   // ********************************* Fields *********************************
 26  
 
 27  
   // --- constants ------------------------------------------------------------
 28  
 
 29  
   // --- members --------------------------------------------------------------
 30  
 
 31  
   // ****************************** Initializer *******************************
 32  
 
 33  
   // ****************************** Constructors ******************************
 34  
 
 35  
   /**
 36  
    * Utility class pattern.
 37  
    */
 38  
   private Arguments()
 39  0
   {
 40  0
   }
 41  
 
 42  
   // ****************************** Inner Classes *****************************
 43  
 
 44  
   // ********************************* Methods ********************************
 45  
 
 46  
   // --- init -----------------------------------------------------------------
 47  
 
 48  
   // --- get&set --------------------------------------------------------------
 49  
 
 50  
   // --- business -------------------------------------------------------------
 51  
 
 52  
   /**
 53  
    * Checks if {@code value} is <code>null</code>.
 54  
    *
 55  
    * @param name the name of the argument of error reporting. Not used if no
 56  
    *          exception is thrown. May be <code>null</code>, although not
 57  
    *          recommended.
 58  
    * @param value the value of the argument to check to be not <code>null</code>
 59  
    *          .
 60  
    * @throws NullPointerException if {@code value} is <code>null</code>.
 61  
    */
 62  
   public static void checkNotNull(final String name, final Object value)
 63  
     throws NullPointerException
 64  
   {
 65  0
     checkNotNull(name, value, null);
 66  0
   }
 67  
 
 68  
   /**
 69  
    * Checks if {@code value} is <code>null</code> providing an additional
 70  
    * message.
 71  
    *
 72  
    * @param name the name of the argument of error reporting. Not used if no
 73  
    *          exception is thrown. May be <code>null</code>, although not
 74  
    *          recommended.
 75  
    * @param value the value of the argument to check to be not <code>null</code>
 76  
    *          .
 77  
    * @param message the message to pass to the exception as additional
 78  
    *          information to the standard message being generated.
 79  
    * @throws NullPointerException if {@code value} is <code>null</code>.
 80  
    */
 81  
   public static void checkNotNull(final String name, final Object value,
 82  
       final String message) throws NullPointerException
 83  
   {
 84  0
     if (value == null)
 85  
     {
 86  0
       throw new NullArgumentException(name, message);
 87  
     }
 88  0
   }
 89  
 
 90  
   /**
 91  
    * Checks if {@code value} is blank.
 92  
    *
 93  
    * @param name the name of the argument of error reporting. Not used if no
 94  
    *          exception is thrown. May be <code>null</code>, although not
 95  
    *          recommended.
 96  
    * @param value the value of the argument to check to be not blank.
 97  
    * @throws BlankArgumentException if {@code value} is blank.
 98  
    */
 99  
   public static void checkNotBlank(final String name, final String value)
 100  
     throws BlankArgumentException
 101  
   {
 102  0
     checkNotBlank(name, value, null);
 103  0
   }
 104  
 
 105  
   /**
 106  
    * Checks if {@code value} is blank providing an additional message.
 107  
    *
 108  
    * @param name the name of the argument of error reporting. Not used if no
 109  
    *          exception is thrown. May be <code>null</code>, although not
 110  
    *          recommended.
 111  
    * @param value the value of the argument to check to be not blank.
 112  
    * @param message the message to pass to the exception as additional
 113  
    *          information to the standard message being generated.
 114  
    * @throws BlankArgumentException if {@code value} is blank.
 115  
    */
 116  
   public static void checkNotBlank(final String name, final String value,
 117  
       final String message) throws BlankArgumentException
 118  
   {
 119  0
     if (StringUtils.isBlank(value))
 120  
     {
 121  0
       throw new BlankArgumentException(name, message);
 122  
     }
 123  0
   }
 124  
 
 125  
   /**
 126  
    * Checks if {@code value} is blank except <code>null</code>.
 127  
    *
 128  
    * @param name the name of the argument of error reporting. Not used if no
 129  
    *          exception is thrown. May be <code>null</code>, although not
 130  
    *          recommended.
 131  
    * @param value the value of the argument to check to be not blank but may be
 132  
    *          <code>null</code>.
 133  
    * @throws BlankExceptNullArgumentException if {@code value} is blank and not
 134  
    *           <code>null</code>.
 135  
    */
 136  
   public static void checkNotBlankExceptNull(final String name,
 137  
       final String value) throws BlankExceptNullArgumentException
 138  
   {
 139  0
     checkNotBlankExceptNull(name, value, null);
 140  0
   }
 141  
 
 142  
   /**
 143  
    * Checks if {@code value} is blank except <code>null</code> providing an
 144  
    * additional message.
 145  
    *
 146  
    * @param name the name of the argument of error reporting. Not used if no
 147  
    *          exception is thrown. May be <code>null</code>, although not
 148  
    *          recommended.
 149  
    * @param value the value of the argument to check to be not blank but may be
 150  
    *          <code>null</code>.
 151  
    * @param message the message to pass to the exception as additional
 152  
    *          information to the standard message being generated.
 153  
    * @throws BlankExceptNullArgumentException if {@code value} is blank and not
 154  
    *           <code>null</code>.
 155  
    */
 156  
   public static void checkNotBlankExceptNull(final String name,
 157  
       final String value, final String message)
 158  
     throws BlankExceptNullArgumentException
 159  
   {
 160  0
     if (value != null && StringUtils.isBlank(value))
 161  
     {
 162  0
       throw new BlankArgumentException(name, message);
 163  
     }
 164  0
   }
 165  
   // --- object basics --------------------------------------------------------
 166  
 
 167  
 }