001: /*
002: * @(#)AssertionError.java 1.9 06/10/10
003: *
004: * Copyright 1990-2006 Sun Microsystems, Inc. All Rights Reserved.
005: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
006: *
007: * This program is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU General Public License version
009: * 2 only, as published by the Free Software Foundation.
010: *
011: * This program is distributed in the hope that it will be useful, but
012: * WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * General Public License version 2 for more details (a copy is
015: * included at /legal/license.txt).
016: *
017: * You should have received a copy of the GNU General Public License
018: * version 2 along with this work; if not, write to the Free Software
019: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA
021: *
022: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
023: * Clara, CA 95054 or visit www.sun.com if you need additional
024: * information or have any questions.
025: */
026:
027: package java.lang;
028:
029: /**
030: * Thrown to indicate that an assertion has failed.
031: *
032: * <p>The seven one-argument public constructors provided by this
033: * class ensure that the assertion error returned by the invocation:
034: * <pre>
035: * new AssertionError(<i>expression</i>)
036: * </pre>
037: * has as its detail message the <i>string conversion</i> of
038: * <i>expression</i> (as defined in <a
039: * href="http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html">
040: * <i>The Java Language Specification, Second Edition</i></a>,
041: * <a href="http://java.sun.com/docs/books/jls/second_edition/html/expressions.doc.html#40220">
042: * Section 15.18.1.1</a>), regardless of the type of <i>expression</i>.
043: *
044: * @version 1.9, 10/10/06
045: * @since JDK1.4
046: */
047: public class AssertionError extends Error {
048: /**
049: * Constructs an AssertionError with no detail message.
050: */
051: public AssertionError() {
052: }
053:
054: /**
055: * This internal constructor does no processing on its string argument,
056: * even if it is a null reference. The public constructors will
057: * never call this constructor with a null argument.
058: */
059: private AssertionError(String detailMessage) {
060: super (detailMessage);
061: }
062:
063: /**
064: * Constructs an AssertionError with its detail message derived
065: * from the specified object, which is converted to a string as
066: * defined in <i>The Java Language Specification, Second
067: * Edition</i>, Section 15.18.1.1.
068: *<p>
069: * If the specified object is an instance of <tt>Throwable</tt>, it
070: * becomes the <i>cause</i> of the newly constructed assertion error.
071: *
072: * @param detailMessage value to be used in constructing detail message
073: * @see Throwable#getCause()
074: */
075: public AssertionError(Object detailMessage) {
076: this ("" + detailMessage);
077: if (detailMessage instanceof Throwable)
078: initCause((Throwable) detailMessage);
079: }
080:
081: /**
082: * Constructs an AssertionError with its detail message derived
083: * from the specified <code>boolean</code>, which is converted to
084: * a string as defined in <i>The Java Language Specification,
085: * Second Edition</i>, Section 15.18.1.1.
086: *
087: * @param detailMessage value to be used in constructing detail message
088: */
089: public AssertionError(boolean detailMessage) {
090: this ("" + detailMessage);
091: }
092:
093: /**
094: * Constructs an AssertionError with its detail message derived
095: * from the specified <code>char</code>, which is converted to a
096: * string as defined in <i>The Java Language Specification, Second
097: * Edition</i>, Section 15.18.1.1.
098: *
099: * @param detailMessage value to be used in constructing detail message
100: */
101: public AssertionError(char detailMessage) {
102: this ("" + detailMessage);
103: }
104:
105: /**
106: * Constructs an AssertionError with its detail message derived
107: * from the specified <code>int</code>, which is converted to a
108: * string as defined in <i>The Java Language Specification, Second
109: * Edition</i>, Section 15.18.1.1.
110: *
111: * @param detailMessage value to be used in constructing detail message
112: */
113: public AssertionError(int detailMessage) {
114: this ("" + detailMessage);
115: }
116:
117: /**
118: * Constructs an AssertionError with its detail message derived
119: * from the specified <code>long</code>, which is converted to a
120: * string as defined in <i>The Java Language Specification, Second
121: * Edition</i>, Section 15.18.1.1.
122: *
123: * @param detailMessage value to be used in constructing detail message
124: */
125: public AssertionError(long detailMessage) {
126: this ("" + detailMessage);
127: }
128:
129: /**
130: * Constructs an AssertionError with its detail message derived
131: * from the specified <code>float</code>, which is converted to a
132: * string as defined in <i>The Java Language Specification, Second
133: * Edition</i>, Section 15.18.1.1.
134: *
135: * @param detailMessage value to be used in constructing detail message
136: */
137: public AssertionError(float detailMessage) {
138: this ("" + detailMessage);
139: }
140:
141: /**
142: * Constructs an AssertionError with its detail message derived
143: * from the specified <code>double</code>, which is converted to a
144: * string as defined in <i>The Java Language Specification, Second
145: * Edition</i>, Section 15.18.1.1.
146: *
147: * @param detailMessage value to be used in constructing detail message
148: */
149: public AssertionError(double detailMessage) {
150: this ("" + detailMessage);
151: }
152: }
|