rt/emul/mini/src/main/java/java/lang/AssertionError.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Tue, 26 Feb 2013 16:54:16 +0100
changeset 772 d382dacfd73f
parent 554 emul/mini/src/main/java/java/lang/AssertionError.java@05224402145d
permissions -rw-r--r--
Moving modules around so the runtime is under one master pom and can be built without building other modules that are in the repository
     1 /*
     2  * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     8  * particular file as subject to the "Classpath" exception as provided
     9  * by Oracle in the LICENSE file that accompanied this code.
    10  *
    11  * This code is distributed in the hope that it will be useful, but WITHOUT
    12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    14  * version 2 for more details (a copy is included in the LICENSE file that
    15  * accompanied this code).
    16  *
    17  * You should have received a copy of the GNU General Public License version
    18  * 2 along with this work; if not, write to the Free Software Foundation,
    19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    20  *
    21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    22  * or visit www.oracle.com if you need additional information or have any
    23  * questions.
    24  */
    25 
    26 package java.lang;
    27 
    28 /**
    29  * Thrown to indicate that an assertion has failed.
    30  *
    31  * <p>The seven one-argument public constructors provided by this
    32  * class ensure that the assertion error returned by the invocation:
    33  * <pre>
    34  *     new AssertionError(<i>expression</i>)
    35  * </pre>
    36  * has as its detail message the <i>string conversion</i> of
    37  * <i>expression</i> (as defined in section 15.18.1.1 of
    38  * <cite>The Java&trade; Language Specification</cite>),
    39  * regardless of the type of <i>expression</i>.
    40  *
    41  * @since   1.4
    42  */
    43 public class AssertionError extends Error {
    44     private static final long serialVersionUID = -5013299493970297370L;
    45 
    46     /**
    47      * Constructs an AssertionError with no detail message.
    48      */
    49     public AssertionError() {
    50     }
    51 
    52     /**
    53      * This internal constructor does no processing on its string argument,
    54      * even if it is a null reference.  The public constructors will
    55      * never call this constructor with a null argument.
    56      */
    57     private AssertionError(String detailMessage) {
    58         super(detailMessage);
    59     }
    60 
    61     /**
    62      * Constructs an AssertionError with its detail message derived
    63      * from the specified object, which is converted to a string as
    64      * defined in section 15.18.1.1 of
    65      * <cite>The Java&trade; Language Specification</cite>.
    66      *<p>
    67      * If the specified object is an instance of {@code Throwable}, it
    68      * becomes the <i>cause</i> of the newly constructed assertion error.
    69      *
    70      * @param detailMessage value to be used in constructing detail message
    71      * @see   Throwable#getCause()
    72      */
    73     public AssertionError(Object detailMessage) {
    74         this("" +  detailMessage);
    75         if (detailMessage instanceof Throwable)
    76             initCause((Throwable) detailMessage);
    77     }
    78 
    79     /**
    80      * Constructs an AssertionError with its detail message derived
    81      * from the specified <code>boolean</code>, which is converted to
    82      * a string as defined in section 15.18.1.1 of
    83      * <cite>The Java&trade; Language Specification</cite>.
    84      *
    85      * @param detailMessage value to be used in constructing detail message
    86      */
    87     public AssertionError(boolean detailMessage) {
    88         this("" +  detailMessage);
    89     }
    90 
    91     /**
    92      * Constructs an AssertionError with its detail message derived
    93      * from the specified <code>char</code>, which is converted to a
    94      * string as defined in section 15.18.1.1 of
    95      * <cite>The Java&trade; Language Specification</cite>.
    96      *
    97      * @param detailMessage value to be used in constructing detail message
    98      */
    99     public AssertionError(char detailMessage) {
   100         this("" +  detailMessage);
   101     }
   102 
   103     /**
   104      * Constructs an AssertionError with its detail message derived
   105      * from the specified <code>int</code>, which is converted to a
   106      * string as defined in section 15.18.1.1 of
   107      * <cite>The Java&trade; Language Specification</cite>.
   108      *
   109      * @param detailMessage value to be used in constructing detail message
   110      */
   111     public AssertionError(int detailMessage) {
   112         this("" +  detailMessage);
   113     }
   114 
   115     /**
   116      * Constructs an AssertionError with its detail message derived
   117      * from the specified <code>long</code>, which is converted to a
   118      * string as defined in section 15.18.1.1 of
   119      * <cite>The Java&trade; Language Specification</cite>.
   120      *
   121      * @param detailMessage value to be used in constructing detail message
   122      */
   123     public AssertionError(long detailMessage) {
   124         this("" +  detailMessage);
   125     }
   126 
   127     /**
   128      * Constructs an AssertionError with its detail message derived
   129      * from the specified <code>float</code>, which is converted to a
   130      * string as defined in section 15.18.1.1 of
   131      * <cite>The Java&trade; Language Specification</cite>.
   132      *
   133      * @param detailMessage value to be used in constructing detail message
   134      */
   135     public AssertionError(float detailMessage) {
   136         this("" +  detailMessage);
   137     }
   138 
   139     /**
   140      * Constructs an AssertionError with its detail message derived
   141      * from the specified <code>double</code>, which is converted to a
   142      * string as defined in section 15.18.1.1 of
   143      * <cite>The Java&trade; Language Specification</cite>.
   144      *
   145      * @param detailMessage value to be used in constructing detail message
   146      */
   147     public AssertionError(double detailMessage) {
   148         this("" +  detailMessage);
   149     }
   150 
   151     /**
   152      * Constructs a new {@code AssertionError} with the specified
   153      * detail message and cause.
   154      *
   155      * <p>Note that the detail message associated with
   156      * {@code cause} is <i>not</i> automatically incorporated in
   157      * this error's detail message.
   158      *
   159      * @param  message the detail message, may be {@code null}
   160      * @param  cause the cause, may be {@code null}
   161      *
   162      * @since 1.7
   163      */
   164     public AssertionError(String message, Throwable cause) {
   165         super(message, cause);
   166     }
   167 }