Project Report: fawkez

Packagesummary org.jcoderz.commons.util

org.jcoderz.commons.util.RandomUtil

LineHitsNoteSource
1  /*
2   * $Id: RandomUtil.java 1011 2008-06-16 17:57:36Z amandel $
3   *
4   * Copyright 2006, The jCoderZ.org Project. All rights reserved.
5   *
6   * Redistribution and use in source and binary forms, with or without
7   * modification, are permitted provided that the following conditions are
8   * met:
9   *
10   *    * Redistributions of source code must retain the above copyright
11   *      notice, this list of conditions and the following disclaimer.
12   *    * Redistributions in binary form must reproduce the above
13   *      copyright notice, this list of conditions and the following
14   *      disclaimer in the documentation and/or other materials
15   *      provided with the distribution.
16   *    * Neither the name of the jCoderZ.org Project nor the names of
17   *      its contributors may be used to endorse or promote products
18   *      derived from this software without specific prior written
19   *      permission.
20   *
21   * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
22   * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24   * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS
25   * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26   * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27   * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
28   * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
29   * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
30   * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
31   * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32   */
33  package org.jcoderz.commons.util;
34  
35  import org.jcoderz.commons.ArgumentMalformedException;
36  
37  /**
38   * Utility class that provides random related utility functions.
39   *
40   * @author Michael Griffel
41   */
42  public final class RandomUtil
43  {
44     private RandomUtil ()
450    {
46        // utility class - only static methods.
470    }
48  
49     /**
50      * Returns a random long number between the value <tt>min</tt>
51      * and the value <tt>max</tt>.
52      * @param min the minimum value.
53      * @param max the maximum value.
54      * @return a random long number between the value <tt>min</tt>
55      *       and the value <tt>max</tt>.
56      * @throws ArgumentMalformedException if the value <tt>min</tt>
57      *       is greater than the value <tt>max</tt>
58      */
59     public static long random (long min, long max)
60           throws ArgumentMalformedException
61     {
62100       if (min > max)
63        {
64100          throw new ArgumentMalformedException("min", String.valueOf(min),
65                 "Value min " + min + " must be lesser than value max " + max);
66        }
67100       return (long) (Math.random() * (max - min) + min);
68     }
69  }

Findings in this File