01:/*
02: * Copyright (c) 2000, Jacob Smullyan.
03: *
04: * This is part of SkunkDAV, a WebDAV client. See http://skunkdav.sourceforge.net/
05: * for the latest version.
06: *
07: * SkunkDAV is free software; you can redistribute it and/or
08: * modify it under the terms of the GNU General Public License as published
09: * by the Free Software Foundation; either version 2, or (at your option)
10: * any later version.
11: *
12: * SkunkDAV is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15: * General Public License for more details.
16: *
17: * You should have received a copy of the GNU General Public License
18: * along with SkunkDAV; see the file COPYING. If not, write to the Free
19: * Software Foundation, 59 Temple Place - Suite 330, Boston, MA
20: * 02111-1307, USA.
21:*/
22:package org.skunk.assert;
23:
24:import java.text.MessageFormat;
25:
26:public class Assertion extends RuntimeException
27:{
28: /* CHANGE THIS TO BUILD WITHOUT ASSERTIONS */
29: public static final boolean ASSERT=true;
30:
31: public static void assert(boolean b)
32: {
33: if (!b) throw new Assertion();
34: }
35:
36: public static void assert(boolean b, String message)
37: {
38: if (!b) throw new Assertion(message);
39: }
40:
41: public static void assert(boolean b, String formattedMessage, Object interpolations)
42: {
43: if (!b)
44: {
45: Object[] interArray=(interpolations instanceof Object[])
46: ? (Object[]) interpolations
47: : new Object[] { interpolations };
48: String message=MessageFormat.format(formattedMessage, interArray);
49: throw new Assertion(message);
50: }
51: }
52:
53: public Assertion()
54: {
55: super ();
56: }
57:
58: public Assertion(String message)
59: {
60: super ("assertion \""+message+"\" failed");
61: }
62:}
63:
64:/* $Log: Assertion.java,v $
65:/* Revision 1.7 2001/02/02 23:30:32 smulloni
66:/* adding customization features to the text editor.
67:/*
68:/* Revision 1.6 2000/12/19 22:37:05 smulloni
69:/* adjustments to preamble
70:/*
71:/* Revision 1.5 2000/12/03 23:53:24 smulloni
72:/* added license and copyright preamble to java files.
73:/*
74:/* Revision 1.4 2000/11/09 23:34:45 smullyan
75:/* log added to every Java file, with the help of python. Lock stealing
76:/* implemented, and treatment of locks made more robust.
77:/* */
|