001package org.kuali.common.util.primitives; 002 003public final class Numbers { 004 005 private Numbers() { 006 } 007 008 public static boolean between(int number, int min, int max) { 009 return number >= min && number <= max; 010 } 011 012 /** 013 * Return the smallest Number it is safe to return. Returns a Byte, Short, Integer, or Long. 014 */ 015 public static Number narrow(long number) { 016 if (isByte(number)) { 017 return (byte) number; 018 } else if (isShort(number)) { 019 return (short) number; 020 } else if (isInt(number)) { 021 return (int) number; 022 } else { 023 return number; 024 } 025 } 026 027 public static boolean isByte(long number) { 028 return number >= Byte.MIN_VALUE && number <= Byte.MAX_VALUE; 029 } 030 031 public static boolean isShort(long number) { 032 return number >= Short.MIN_VALUE && number <= Short.MAX_VALUE; 033 } 034 035 public static boolean isInt(long number) { 036 return number >= Integer.MIN_VALUE && number <= Integer.MAX_VALUE; 037 } 038 039}