rt/emul/compact/src/main/java/java/io/InvalidClassException.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Tue, 26 Feb 2013 16:54:16 +0100
changeset 772 d382dacfd73f
parent 601 emul/compact/src/main/java/java/io/InvalidClassException.java@5198affdb915
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) 1996, 2006, 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.io;
    27 
    28 /**
    29  * Thrown when the Serialization runtime detects one of the following
    30  * problems with a Class.
    31  * <UL>
    32  * <LI> The serial version of the class does not match that of the class
    33  *      descriptor read from the stream
    34  * <LI> The class contains unknown datatypes
    35  * <LI> The class does not have an accessible no-arg constructor
    36  * </UL>
    37  *
    38  * @author  unascribed
    39  * @since   JDK1.1
    40  */
    41 public class InvalidClassException extends ObjectStreamException {
    42 
    43     private static final long serialVersionUID = -4333316296251054416L;
    44 
    45     /**
    46      * Name of the invalid class.
    47      *
    48      * @serial Name of the invalid class.
    49      */
    50     public String classname;
    51 
    52     /**
    53      * Report an InvalidClassException for the reason specified.
    54      *
    55      * @param reason  String describing the reason for the exception.
    56      */
    57     public InvalidClassException(String reason) {
    58         super(reason);
    59     }
    60 
    61     /**
    62      * Constructs an InvalidClassException object.
    63      *
    64      * @param cname   a String naming the invalid class.
    65      * @param reason  a String describing the reason for the exception.
    66      */
    67     public InvalidClassException(String cname, String reason) {
    68         super(reason);
    69         classname = cname;
    70     }
    71 
    72     /**
    73      * Produce the message and include the classname, if present.
    74      */
    75     public String getMessage() {
    76         if (classname == null)
    77             return super.getMessage();
    78         else
    79             return classname + "; " + super.getMessage();
    80     }
    81 }