177391c2a01ce1fed085906743cc240a4d58edd92chrismair/* 277391c2a01ce1fed085906743cc240a4d58edd92chrismair * Copyright 2007 the original author or authors. 377391c2a01ce1fed085906743cc240a4d58edd92chrismair * 477391c2a01ce1fed085906743cc240a4d58edd92chrismair * Licensed under the Apache License, Version 2.0 (the "License"); 577391c2a01ce1fed085906743cc240a4d58edd92chrismair * you may not use this file except in compliance with the License. 677391c2a01ce1fed085906743cc240a4d58edd92chrismair * You may obtain a copy of the License at 777391c2a01ce1fed085906743cc240a4d58edd92chrismair * 877391c2a01ce1fed085906743cc240a4d58edd92chrismair * http://www.apache.org/licenses/LICENSE-2.0 977391c2a01ce1fed085906743cc240a4d58edd92chrismair * 1077391c2a01ce1fed085906743cc240a4d58edd92chrismair * Unless required by applicable law or agreed to in writing, software 1177391c2a01ce1fed085906743cc240a4d58edd92chrismair * distributed under the License is distributed on an "AS IS" BASIS, 1277391c2a01ce1fed085906743cc240a4d58edd92chrismair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1377391c2a01ce1fed085906743cc240a4d58edd92chrismair * See the License for the specific language governing permissions and 1477391c2a01ce1fed085906743cc240a4d58edd92chrismair * limitations under the License. 1577391c2a01ce1fed085906743cc240a4d58edd92chrismair */ 1677391c2a01ce1fed085906743cc240a4d58edd92chrismairpackage org.mockftpserver.core.util; 1777391c2a01ce1fed085906743cc240a4d58edd92chrismair 1877391c2a01ce1fed085906743cc240a4d58edd92chrismairimport java.util.Collection; 1977391c2a01ce1fed085906743cc240a4d58edd92chrismairimport java.util.Map; 2077391c2a01ce1fed085906743cc240a4d58edd92chrismair 2177391c2a01ce1fed085906743cc240a4d58edd92chrismair/** 2277391c2a01ce1fed085906743cc240a4d58edd92chrismair * Provides static helper methods to make runtime assertions. Throws an 2377391c2a01ce1fed085906743cc240a4d58edd92chrismair * <code>AssertFailedException</code> when the assertion fails. All methods are static. 2477391c2a01ce1fed085906743cc240a4d58edd92chrismair * 2577391c2a01ce1fed085906743cc240a4d58edd92chrismair * @version $Revision$ - $Date$ 2677391c2a01ce1fed085906743cc240a4d58edd92chrismair * 2777391c2a01ce1fed085906743cc240a4d58edd92chrismair * @author Chris Mair 2877391c2a01ce1fed085906743cc240a4d58edd92chrismair */ 2977391c2a01ce1fed085906743cc240a4d58edd92chrismairpublic final class Assert { 3077391c2a01ce1fed085906743cc240a4d58edd92chrismair 3177391c2a01ce1fed085906743cc240a4d58edd92chrismair /** 3277391c2a01ce1fed085906743cc240a4d58edd92chrismair * Verify that arg is null. Throw an AssertFailedException if it is not null. 3377391c2a01ce1fed085906743cc240a4d58edd92chrismair * @param arg - the method parameter value 3477391c2a01ce1fed085906743cc240a4d58edd92chrismair * @param argName - the name of the parameter; used in the exception message 3577391c2a01ce1fed085906743cc240a4d58edd92chrismair * @throws AssertFailedException - if arg is not null 3677391c2a01ce1fed085906743cc240a4d58edd92chrismair */ 3777391c2a01ce1fed085906743cc240a4d58edd92chrismair public static void isNull(Object arg, String argName) { 3877391c2a01ce1fed085906743cc240a4d58edd92chrismair if (arg != null) { 3977391c2a01ce1fed085906743cc240a4d58edd92chrismair throw new AssertFailedException("The value for \"" + argName + "\" must be null"); 4077391c2a01ce1fed085906743cc240a4d58edd92chrismair } 4177391c2a01ce1fed085906743cc240a4d58edd92chrismair } 4277391c2a01ce1fed085906743cc240a4d58edd92chrismair 4377391c2a01ce1fed085906743cc240a4d58edd92chrismair /** 4477391c2a01ce1fed085906743cc240a4d58edd92chrismair * Verify that arg is not null. Throw an AssertFailedException if it is null. 4577391c2a01ce1fed085906743cc240a4d58edd92chrismair * @param arg - the method parameter value 4677391c2a01ce1fed085906743cc240a4d58edd92chrismair * @param argName - the name of the parameter; used in the exception message 4777391c2a01ce1fed085906743cc240a4d58edd92chrismair * @throws AssertFailedException - if arg is null 4877391c2a01ce1fed085906743cc240a4d58edd92chrismair */ 4977391c2a01ce1fed085906743cc240a4d58edd92chrismair public static void notNull(Object arg, String argName) { 5077391c2a01ce1fed085906743cc240a4d58edd92chrismair if (arg == null) { 5177391c2a01ce1fed085906743cc240a4d58edd92chrismair throw new AssertFailedException("The value of \"" + argName + "\" is null"); 5277391c2a01ce1fed085906743cc240a4d58edd92chrismair } 5377391c2a01ce1fed085906743cc240a4d58edd92chrismair } 5477391c2a01ce1fed085906743cc240a4d58edd92chrismair 5577391c2a01ce1fed085906743cc240a4d58edd92chrismair /** 5677391c2a01ce1fed085906743cc240a4d58edd92chrismair * Verify that condition is true. Throw an AssertFailedException if it is false. 5777391c2a01ce1fed085906743cc240a4d58edd92chrismair * @param condition - the condition that should be true 5877391c2a01ce1fed085906743cc240a4d58edd92chrismair * @throws AssertFailedException - if condition is false 5977391c2a01ce1fed085906743cc240a4d58edd92chrismair */ 6077391c2a01ce1fed085906743cc240a4d58edd92chrismair public static void isTrue(boolean condition, String message) { 6177391c2a01ce1fed085906743cc240a4d58edd92chrismair if (!condition) { 6277391c2a01ce1fed085906743cc240a4d58edd92chrismair throw new AssertFailedException(message); 6377391c2a01ce1fed085906743cc240a4d58edd92chrismair } 6477391c2a01ce1fed085906743cc240a4d58edd92chrismair } 6577391c2a01ce1fed085906743cc240a4d58edd92chrismair 6677391c2a01ce1fed085906743cc240a4d58edd92chrismair /** 6777391c2a01ce1fed085906743cc240a4d58edd92chrismair * Verify that condition is false. Throw an AssertFailedException if it is true. 6877391c2a01ce1fed085906743cc240a4d58edd92chrismair * @param condition - the condition that should be false 6977391c2a01ce1fed085906743cc240a4d58edd92chrismair * @throws AssertFailedException - if condition is true 7077391c2a01ce1fed085906743cc240a4d58edd92chrismair */ 7177391c2a01ce1fed085906743cc240a4d58edd92chrismair public static void isFalse(boolean condition, String message) { 7277391c2a01ce1fed085906743cc240a4d58edd92chrismair if (condition) { 7377391c2a01ce1fed085906743cc240a4d58edd92chrismair throw new AssertFailedException(message); 7477391c2a01ce1fed085906743cc240a4d58edd92chrismair } 7577391c2a01ce1fed085906743cc240a4d58edd92chrismair } 7677391c2a01ce1fed085906743cc240a4d58edd92chrismair 7777391c2a01ce1fed085906743cc240a4d58edd92chrismair /** 7877391c2a01ce1fed085906743cc240a4d58edd92chrismair * Verify that the collection is not null or empty. Throw an 7977391c2a01ce1fed085906743cc240a4d58edd92chrismair * AssertFailedException if it is null or empty. 8077391c2a01ce1fed085906743cc240a4d58edd92chrismair * @param collection - the Collection 8177391c2a01ce1fed085906743cc240a4d58edd92chrismair * @param argName - the name of the parameter; used in the exception message 8277391c2a01ce1fed085906743cc240a4d58edd92chrismair * @throws AssertFailedException - if collection is null or empty 8377391c2a01ce1fed085906743cc240a4d58edd92chrismair */ 8477391c2a01ce1fed085906743cc240a4d58edd92chrismair public static void notNullOrEmpty(Collection collection, String argName) { 8577391c2a01ce1fed085906743cc240a4d58edd92chrismair notNull(collection, argName); 8677391c2a01ce1fed085906743cc240a4d58edd92chrismair if (collection.isEmpty()) { 8777391c2a01ce1fed085906743cc240a4d58edd92chrismair throw new AssertFailedException("The \"" + argName + "\" Collection is empty"); 8877391c2a01ce1fed085906743cc240a4d58edd92chrismair } 8977391c2a01ce1fed085906743cc240a4d58edd92chrismair } 9077391c2a01ce1fed085906743cc240a4d58edd92chrismair 9177391c2a01ce1fed085906743cc240a4d58edd92chrismair /** 9277391c2a01ce1fed085906743cc240a4d58edd92chrismair * Verify that the Map is not null or empty. Throw an AssertFailedException 9377391c2a01ce1fed085906743cc240a4d58edd92chrismair * if it is null or empty. 9477391c2a01ce1fed085906743cc240a4d58edd92chrismair * @param map - the Map 9577391c2a01ce1fed085906743cc240a4d58edd92chrismair * @param argName - the name of the parameter; used in the exception message 9677391c2a01ce1fed085906743cc240a4d58edd92chrismair * @throws AssertFailedException - if map is null or empty 9777391c2a01ce1fed085906743cc240a4d58edd92chrismair */ 9877391c2a01ce1fed085906743cc240a4d58edd92chrismair public static void notNullOrEmpty(Map map, String argName) { 9977391c2a01ce1fed085906743cc240a4d58edd92chrismair notNull(map, argName); 10077391c2a01ce1fed085906743cc240a4d58edd92chrismair if (map.isEmpty()) { 10177391c2a01ce1fed085906743cc240a4d58edd92chrismair throw new AssertFailedException("The \"" + argName + "\" Map is empty"); 10277391c2a01ce1fed085906743cc240a4d58edd92chrismair } 10377391c2a01ce1fed085906743cc240a4d58edd92chrismair } 10477391c2a01ce1fed085906743cc240a4d58edd92chrismair 10577391c2a01ce1fed085906743cc240a4d58edd92chrismair /** 10677391c2a01ce1fed085906743cc240a4d58edd92chrismair * Verify that the array is not null or empty. Throw an 10777391c2a01ce1fed085906743cc240a4d58edd92chrismair * AssertFailedException if it is null or empty. 10877391c2a01ce1fed085906743cc240a4d58edd92chrismair * @param array - the array 10977391c2a01ce1fed085906743cc240a4d58edd92chrismair * @param argName - the name of the parameter; used in the exception message 11077391c2a01ce1fed085906743cc240a4d58edd92chrismair * @throws AssertFailedException - if array is null or empty 11177391c2a01ce1fed085906743cc240a4d58edd92chrismair */ 11277391c2a01ce1fed085906743cc240a4d58edd92chrismair public static void notNullOrEmpty(Object[] array, String argName) { 11377391c2a01ce1fed085906743cc240a4d58edd92chrismair notNull(array, argName); 11477391c2a01ce1fed085906743cc240a4d58edd92chrismair if (array.length == 0) { 11577391c2a01ce1fed085906743cc240a4d58edd92chrismair throw new AssertFailedException("The \"" + argName + "\" array is empty"); 11677391c2a01ce1fed085906743cc240a4d58edd92chrismair } 11777391c2a01ce1fed085906743cc240a4d58edd92chrismair } 11877391c2a01ce1fed085906743cc240a4d58edd92chrismair 11977391c2a01ce1fed085906743cc240a4d58edd92chrismair /** 12077391c2a01ce1fed085906743cc240a4d58edd92chrismair * Verify that the String is not null or empty. Throw an 12177391c2a01ce1fed085906743cc240a4d58edd92chrismair * AssertFailedException if it is null or empty. 12277391c2a01ce1fed085906743cc240a4d58edd92chrismair * @param string - the String 12377391c2a01ce1fed085906743cc240a4d58edd92chrismair * @param argName - the name of the parameter; used in the exception message 12477391c2a01ce1fed085906743cc240a4d58edd92chrismair * @throws AssertFailedException - if string is null or empty 12577391c2a01ce1fed085906743cc240a4d58edd92chrismair */ 12677391c2a01ce1fed085906743cc240a4d58edd92chrismair public static void notNullOrEmpty(String string, String argName) { 12777391c2a01ce1fed085906743cc240a4d58edd92chrismair notNull(string, argName); 12877391c2a01ce1fed085906743cc240a4d58edd92chrismair if (string.trim().length() == 0) { 12977391c2a01ce1fed085906743cc240a4d58edd92chrismair throw new AssertFailedException("The \"" + argName + "\" String is empty"); 13077391c2a01ce1fed085906743cc240a4d58edd92chrismair } 13177391c2a01ce1fed085906743cc240a4d58edd92chrismair } 13277391c2a01ce1fed085906743cc240a4d58edd92chrismair 13377391c2a01ce1fed085906743cc240a4d58edd92chrismair /** 13477391c2a01ce1fed085906743cc240a4d58edd92chrismair * Private constructor. All methods are static 13577391c2a01ce1fed085906743cc240a4d58edd92chrismair */ 13677391c2a01ce1fed085906743cc240a4d58edd92chrismair private Assert() { 13777391c2a01ce1fed085906743cc240a4d58edd92chrismair } 13877391c2a01ce1fed085906743cc240a4d58edd92chrismair} 139