001 /*--------------------------------------------------------------------------+ 002 $Id: CCSMAssert.java 26283 2010-02-18 11:18:57Z juergens $ 003 | | 004 | Copyright 2005-2010 Technische Universitaet Muenchen | 005 | | 006 | Licensed under the Apache License, Version 2.0 (the "License"); | 007 | you may not use this file except in compliance with the License. | 008 | You may obtain a copy of the License at | 009 | | 010 | http://www.apache.org/licenses/LICENSE-2.0 | 011 | | 012 | Unless required by applicable law or agreed to in writing, software | 013 | distributed under the License is distributed on an "AS IS" BASIS, | 014 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 015 | See the License for the specific language governing permissions and | 016 | limitations under the License. | 017 +--------------------------------------------------------------------------*/ 018 package edu.tum.cs.commons.assertion; 019 020 /** 021 * This class provides simple methods to implement assertions. Please refer to 022 * the {@linkplain edu.tum.cs.commons.assertion package documentation} for a 023 * discussion of assertions vs preconditions. 024 * 025 * @author deissenb 026 * @author $Author: juergens $ 027 * @version $Rev: 26283 $ 028 * @levd.rating GREEN Hash: E82E611F994E400B617A0A0BB1D27C39 029 */ 030 public class CCSMAssert { 031 032 /** 033 * Checks if a condition is <code>true</code>. 034 * 035 * @param condition 036 * condition to check 037 * @param message 038 * exception message 039 * @throws AssertionError 040 * if the condition if <code>false</code> 041 */ 042 public static void isTrue(boolean condition, String message) 043 throws AssertionError { 044 if (!condition) { 045 throw new AssertionError(message); 046 } 047 } 048 049 /** 050 * Checks if a condition is <code>false</code>. 051 * 052 * @param condition 053 * condition to check 054 * @param message 055 * exception message 056 * @throws AssertionError 057 * if the condition if <code>true</code> 058 */ 059 public static void isFalse(boolean condition, String message) 060 throws AssertionError { 061 if (condition) { 062 throw new AssertionError(message); 063 } 064 } 065 066 /** Checks that the object is a instance of the class */ 067 public static void isInstanceOf(Object object, Class<?> clazz) { 068 CCSMAssert.isTrue(clazz.isInstance(object), object 069 + " must be instance of " + clazz); 070 } 071 072 /** 073 * @throws AssertionError 074 * with message 075 */ 076 public static void fail(String message) throws AssertionError { 077 throw new AssertionError(message); 078 } 079 080 /** 081 * Checks whether a reference is <code>null</code>. 082 * 083 * @param reference 084 * reference to check 085 * @throws AssertionError 086 * if the reference is <code>null</code> 087 */ 088 public static void isNotNull(Object reference) throws AssertionError { 089 isNotNull(reference, "Reference must not be null"); 090 } 091 092 /** 093 * Checks whether a reference is <code>null</code>. 094 * 095 * @param reference 096 * reference to check 097 * @param message 098 * exception message 099 * @throws AssertionError 100 * if the reference is <code>null</code> 101 */ 102 public static void isNotNull(Object reference, String message) 103 throws AssertionError { 104 if (reference == null) { 105 throw new AssertionError(message); 106 } 107 } 108 109 }