Exceptions and annotations jdk7-b147
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Sat, 29 Sep 2012 10:52:05 +0200
branchjdk7-b147
changeset 668a74b5d8d1d4
parent 62 e9062591e91d
child 67 cc0d42d2110a
Exceptions and annotations
emul/src/main/java/java/lang/ArrayIndexOutOfBoundsException.java
emul/src/main/java/java/lang/ClassNotFoundException.java
emul/src/main/java/java/lang/IllegalStateException.java
emul/src/main/java/java/lang/IndexOutOfBoundsException.java
emul/src/main/java/java/lang/InstantiationException.java
emul/src/main/java/java/lang/StringIndexOutOfBoundsException.java
emul/src/main/java/java/lang/annotation/Annotation.java
emul/src/main/java/java/lang/annotation/Documented.java
emul/src/main/java/java/lang/annotation/NullPointerException.java
emul/src/main/java/java/lang/annotation/Retention.java
emul/src/main/java/java/lang/annotation/RetentionPolicy.java
emul/src/main/java/java/lang/annotation/UnsupportedOperationException.java
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/emul/src/main/java/java/lang/ArrayIndexOutOfBoundsException.java	Sat Sep 29 10:52:05 2012 +0200
     1.3 @@ -0,0 +1,67 @@
     1.4 +/*
     1.5 + * Copyright (c) 1994, 2008, Oracle and/or its affiliates. All rights reserved.
     1.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.7 + *
     1.8 + * This code is free software; you can redistribute it and/or modify it
     1.9 + * under the terms of the GNU General Public License version 2 only, as
    1.10 + * published by the Free Software Foundation.  Oracle designates this
    1.11 + * particular file as subject to the "Classpath" exception as provided
    1.12 + * by Oracle in the LICENSE file that accompanied this code.
    1.13 + *
    1.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
    1.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    1.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    1.17 + * version 2 for more details (a copy is included in the LICENSE file that
    1.18 + * accompanied this code).
    1.19 + *
    1.20 + * You should have received a copy of the GNU General Public License version
    1.21 + * 2 along with this work; if not, write to the Free Software Foundation,
    1.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    1.23 + *
    1.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    1.25 + * or visit www.oracle.com if you need additional information or have any
    1.26 + * questions.
    1.27 + */
    1.28 +
    1.29 +package java.lang;
    1.30 +
    1.31 +/**
    1.32 + * Thrown to indicate that an array has been accessed with an
    1.33 + * illegal index. The index is either negative or greater than or
    1.34 + * equal to the size of the array.
    1.35 + *
    1.36 + * @author  unascribed
    1.37 + * @since   JDK1.0
    1.38 + */
    1.39 +public
    1.40 +class ArrayIndexOutOfBoundsException extends IndexOutOfBoundsException {
    1.41 +    private static final long serialVersionUID = -5116101128118950844L;
    1.42 +
    1.43 +    /**
    1.44 +     * Constructs an <code>ArrayIndexOutOfBoundsException</code> with no
    1.45 +     * detail message.
    1.46 +     */
    1.47 +    public ArrayIndexOutOfBoundsException() {
    1.48 +        super();
    1.49 +    }
    1.50 +
    1.51 +    /**
    1.52 +     * Constructs a new <code>ArrayIndexOutOfBoundsException</code>
    1.53 +     * class with an argument indicating the illegal index.
    1.54 +     *
    1.55 +     * @param   index   the illegal index.
    1.56 +     */
    1.57 +    public ArrayIndexOutOfBoundsException(int index) {
    1.58 +        super("Array index out of range: " + index);
    1.59 +    }
    1.60 +
    1.61 +    /**
    1.62 +     * Constructs an <code>ArrayIndexOutOfBoundsException</code> class
    1.63 +     * with the specified detail message.
    1.64 +     *
    1.65 +     * @param   s   the detail message.
    1.66 +     */
    1.67 +    public ArrayIndexOutOfBoundsException(String s) {
    1.68 +        super(s);
    1.69 +    }
    1.70 +}
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/emul/src/main/java/java/lang/ClassNotFoundException.java	Sat Sep 29 10:52:05 2012 +0200
     2.3 @@ -0,0 +1,125 @@
     2.4 +/*
     2.5 + * Copyright (c) 1995, 2004, Oracle and/or its affiliates. All rights reserved.
     2.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     2.7 + *
     2.8 + * This code is free software; you can redistribute it and/or modify it
     2.9 + * under the terms of the GNU General Public License version 2 only, as
    2.10 + * published by the Free Software Foundation.  Oracle designates this
    2.11 + * particular file as subject to the "Classpath" exception as provided
    2.12 + * by Oracle in the LICENSE file that accompanied this code.
    2.13 + *
    2.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
    2.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    2.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    2.17 + * version 2 for more details (a copy is included in the LICENSE file that
    2.18 + * accompanied this code).
    2.19 + *
    2.20 + * You should have received a copy of the GNU General Public License version
    2.21 + * 2 along with this work; if not, write to the Free Software Foundation,
    2.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    2.23 + *
    2.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    2.25 + * or visit www.oracle.com if you need additional information or have any
    2.26 + * questions.
    2.27 + */
    2.28 +
    2.29 +package java.lang;
    2.30 +
    2.31 +/**
    2.32 + * Thrown when an application tries to load in a class through its
    2.33 + * string name using:
    2.34 + * <ul>
    2.35 + * <li>The <code>forName</code> method in class <code>Class</code>.
    2.36 + * <li>The <code>findSystemClass</code> method in class
    2.37 + *     <code>ClassLoader</code> .
    2.38 + * <li>The <code>loadClass</code> method in class <code>ClassLoader</code>.
    2.39 + * </ul>
    2.40 + * <p>
    2.41 + * but no definition for the class with the specified name could be found.
    2.42 + *
    2.43 + * <p>As of release 1.4, this exception has been retrofitted to conform to
    2.44 + * the general purpose exception-chaining mechanism.  The "optional exception
    2.45 + * that was raised while loading the class" that may be provided at
    2.46 + * construction time and accessed via the {@link #getException()} method is
    2.47 + * now known as the <i>cause</i>, and may be accessed via the {@link
    2.48 + * Throwable#getCause()} method, as well as the aforementioned "legacy method."
    2.49 + *
    2.50 + * @author  unascribed
    2.51 + * @see     java.lang.Class#forName(java.lang.String)
    2.52 + * @see     java.lang.ClassLoader#findSystemClass(java.lang.String)
    2.53 + * @see     java.lang.ClassLoader#loadClass(java.lang.String, boolean)
    2.54 + * @since   JDK1.0
    2.55 + */
    2.56 +public class ClassNotFoundException extends ReflectiveOperationException {
    2.57 +    /**
    2.58 +     * use serialVersionUID from JDK 1.1.X for interoperability
    2.59 +     */
    2.60 +     private static final long serialVersionUID = 9176873029745254542L;
    2.61 +
    2.62 +    /**
    2.63 +     * This field holds the exception ex if the
    2.64 +     * ClassNotFoundException(String s, Throwable ex) constructor was
    2.65 +     * used to instantiate the object
    2.66 +     * @serial
    2.67 +     * @since 1.2
    2.68 +     */
    2.69 +    private Throwable ex;
    2.70 +
    2.71 +    /**
    2.72 +     * Constructs a <code>ClassNotFoundException</code> with no detail message.
    2.73 +     */
    2.74 +    public ClassNotFoundException() {
    2.75 +        super((Throwable)null);  // Disallow initCause
    2.76 +    }
    2.77 +
    2.78 +    /**
    2.79 +     * Constructs a <code>ClassNotFoundException</code> with the
    2.80 +     * specified detail message.
    2.81 +     *
    2.82 +     * @param   s   the detail message.
    2.83 +     */
    2.84 +    public ClassNotFoundException(String s) {
    2.85 +        super(s, null);  //  Disallow initCause
    2.86 +    }
    2.87 +
    2.88 +    /**
    2.89 +     * Constructs a <code>ClassNotFoundException</code> with the
    2.90 +     * specified detail message and optional exception that was
    2.91 +     * raised while loading the class.
    2.92 +     *
    2.93 +     * @param s the detail message
    2.94 +     * @param ex the exception that was raised while loading the class
    2.95 +     * @since 1.2
    2.96 +     */
    2.97 +    public ClassNotFoundException(String s, Throwable ex) {
    2.98 +        super(s, null);  //  Disallow initCause
    2.99 +        this.ex = ex;
   2.100 +    }
   2.101 +
   2.102 +    /**
   2.103 +     * Returns the exception that was raised if an error occurred while
   2.104 +     * attempting to load the class. Otherwise, returns <tt>null</tt>.
   2.105 +     *
   2.106 +     * <p>This method predates the general-purpose exception chaining facility.
   2.107 +     * The {@link Throwable#getCause()} method is now the preferred means of
   2.108 +     * obtaining this information.
   2.109 +     *
   2.110 +     * @return the <code>Exception</code> that was raised while loading a class
   2.111 +     * @since 1.2
   2.112 +     */
   2.113 +    public Throwable getException() {
   2.114 +        return ex;
   2.115 +    }
   2.116 +
   2.117 +    /**
   2.118 +     * Returns the cause of this exception (the exception that was raised
   2.119 +     * if an error occurred while attempting to load the class; otherwise
   2.120 +     * <tt>null</tt>).
   2.121 +     *
   2.122 +     * @return  the cause of this exception.
   2.123 +     * @since   1.4
   2.124 +     */
   2.125 +    public Throwable getCause() {
   2.126 +        return ex;
   2.127 +    }
   2.128 +}
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/emul/src/main/java/java/lang/IllegalStateException.java	Sat Sep 29 10:52:05 2012 +0200
     3.3 @@ -0,0 +1,97 @@
     3.4 +/*
     3.5 + * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
     3.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3.7 + *
     3.8 + * This code is free software; you can redistribute it and/or modify it
     3.9 + * under the terms of the GNU General Public License version 2 only, as
    3.10 + * published by the Free Software Foundation.  Oracle designates this
    3.11 + * particular file as subject to the "Classpath" exception as provided
    3.12 + * by Oracle in the LICENSE file that accompanied this code.
    3.13 + *
    3.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
    3.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    3.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    3.17 + * version 2 for more details (a copy is included in the LICENSE file that
    3.18 + * accompanied this code).
    3.19 + *
    3.20 + * You should have received a copy of the GNU General Public License version
    3.21 + * 2 along with this work; if not, write to the Free Software Foundation,
    3.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    3.23 + *
    3.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    3.25 + * or visit www.oracle.com if you need additional information or have any
    3.26 + * questions.
    3.27 + */
    3.28 +
    3.29 +package java.lang;
    3.30 +
    3.31 +/**
    3.32 + * Signals that a method has been invoked at an illegal or
    3.33 + * inappropriate time.  In other words, the Java environment or
    3.34 + * Java application is not in an appropriate state for the requested
    3.35 + * operation.
    3.36 + *
    3.37 + * @author  Jonni Kanerva
    3.38 + * @since   JDK1.1
    3.39 + */
    3.40 +public
    3.41 +class IllegalStateException extends RuntimeException {
    3.42 +    /**
    3.43 +     * Constructs an IllegalStateException with no detail message.
    3.44 +     * A detail message is a String that describes this particular exception.
    3.45 +     */
    3.46 +    public IllegalStateException() {
    3.47 +        super();
    3.48 +    }
    3.49 +
    3.50 +    /**
    3.51 +     * Constructs an IllegalStateException with the specified detail
    3.52 +     * message.  A detail message is a String that describes this particular
    3.53 +     * exception.
    3.54 +     *
    3.55 +     * @param s the String that contains a detailed message
    3.56 +     */
    3.57 +    public IllegalStateException(String s) {
    3.58 +        super(s);
    3.59 +    }
    3.60 +
    3.61 +    /**
    3.62 +     * Constructs a new exception with the specified detail message and
    3.63 +     * cause.
    3.64 +     *
    3.65 +     * <p>Note that the detail message associated with <code>cause</code> is
    3.66 +     * <i>not</i> automatically incorporated in this exception's detail
    3.67 +     * message.
    3.68 +     *
    3.69 +     * @param  message the detail message (which is saved for later retrieval
    3.70 +     *         by the {@link Throwable#getMessage()} method).
    3.71 +     * @param  cause the cause (which is saved for later retrieval by the
    3.72 +     *         {@link Throwable#getCause()} method).  (A <tt>null</tt> value
    3.73 +     *         is permitted, and indicates that the cause is nonexistent or
    3.74 +     *         unknown.)
    3.75 +     * @since 1.5
    3.76 +     */
    3.77 +    public IllegalStateException(String message, Throwable cause) {
    3.78 +        super(message, cause);
    3.79 +    }
    3.80 +
    3.81 +    /**
    3.82 +     * Constructs a new exception with the specified cause and a detail
    3.83 +     * message of <tt>(cause==null ? null : cause.toString())</tt> (which
    3.84 +     * typically contains the class and detail message of <tt>cause</tt>).
    3.85 +     * This constructor is useful for exceptions that are little more than
    3.86 +     * wrappers for other throwables (for example, {@link
    3.87 +     * java.security.PrivilegedActionException}).
    3.88 +     *
    3.89 +     * @param  cause the cause (which is saved for later retrieval by the
    3.90 +     *         {@link Throwable#getCause()} method).  (A <tt>null</tt> value is
    3.91 +     *         permitted, and indicates that the cause is nonexistent or
    3.92 +     *         unknown.)
    3.93 +     * @since  1.5
    3.94 +     */
    3.95 +    public IllegalStateException(Throwable cause) {
    3.96 +        super(cause);
    3.97 +    }
    3.98 +
    3.99 +    static final long serialVersionUID = -1848914673093119416L;
   3.100 +}
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/emul/src/main/java/java/lang/IndexOutOfBoundsException.java	Sat Sep 29 10:52:05 2012 +0200
     4.3 @@ -0,0 +1,58 @@
     4.4 +/*
     4.5 + * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
     4.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4.7 + *
     4.8 + * This code is free software; you can redistribute it and/or modify it
     4.9 + * under the terms of the GNU General Public License version 2 only, as
    4.10 + * published by the Free Software Foundation.  Oracle designates this
    4.11 + * particular file as subject to the "Classpath" exception as provided
    4.12 + * by Oracle in the LICENSE file that accompanied this code.
    4.13 + *
    4.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
    4.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    4.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    4.17 + * version 2 for more details (a copy is included in the LICENSE file that
    4.18 + * accompanied this code).
    4.19 + *
    4.20 + * You should have received a copy of the GNU General Public License version
    4.21 + * 2 along with this work; if not, write to the Free Software Foundation,
    4.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    4.23 + *
    4.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    4.25 + * or visit www.oracle.com if you need additional information or have any
    4.26 + * questions.
    4.27 + */
    4.28 +
    4.29 +package java.lang;
    4.30 +
    4.31 +/**
    4.32 + * Thrown to indicate that an index of some sort (such as to an array, to a
    4.33 + * string, or to a vector) is out of range.
    4.34 + * <p>
    4.35 + * Applications can subclass this class to indicate similar exceptions.
    4.36 + *
    4.37 + * @author  Frank Yellin
    4.38 + * @since   JDK1.0
    4.39 + */
    4.40 +public
    4.41 +class IndexOutOfBoundsException extends RuntimeException {
    4.42 +    private static final long serialVersionUID = 234122996006267687L;
    4.43 +
    4.44 +    /**
    4.45 +     * Constructs an <code>IndexOutOfBoundsException</code> with no
    4.46 +     * detail message.
    4.47 +     */
    4.48 +    public IndexOutOfBoundsException() {
    4.49 +        super();
    4.50 +    }
    4.51 +
    4.52 +    /**
    4.53 +     * Constructs an <code>IndexOutOfBoundsException</code> with the
    4.54 +     * specified detail message.
    4.55 +     *
    4.56 +     * @param   s   the detail message.
    4.57 +     */
    4.58 +    public IndexOutOfBoundsException(String s) {
    4.59 +        super(s);
    4.60 +    }
    4.61 +}
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/emul/src/main/java/java/lang/InstantiationException.java	Sat Sep 29 10:52:05 2012 +0200
     5.3 @@ -0,0 +1,65 @@
     5.4 +/*
     5.5 + * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
     5.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     5.7 + *
     5.8 + * This code is free software; you can redistribute it and/or modify it
     5.9 + * under the terms of the GNU General Public License version 2 only, as
    5.10 + * published by the Free Software Foundation.  Oracle designates this
    5.11 + * particular file as subject to the "Classpath" exception as provided
    5.12 + * by Oracle in the LICENSE file that accompanied this code.
    5.13 + *
    5.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
    5.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    5.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    5.17 + * version 2 for more details (a copy is included in the LICENSE file that
    5.18 + * accompanied this code).
    5.19 + *
    5.20 + * You should have received a copy of the GNU General Public License version
    5.21 + * 2 along with this work; if not, write to the Free Software Foundation,
    5.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    5.23 + *
    5.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    5.25 + * or visit www.oracle.com if you need additional information or have any
    5.26 + * questions.
    5.27 + */
    5.28 +
    5.29 +package java.lang;
    5.30 +
    5.31 +/**
    5.32 + * Thrown when an application tries to create an instance of a class
    5.33 + * using the {@code newInstance} method in class
    5.34 + * {@code Class}, but the specified class object cannot be
    5.35 + * instantiated.  The instantiation can fail for a variety of
    5.36 + * reasons including but not limited to:
    5.37 + *
    5.38 + * <ul>
    5.39 + * <li> the class object represents an abstract class, an interface,
    5.40 + *      an array class, a primitive type, or {@code void}
    5.41 + * <li> the class has no nullary constructor
    5.42 + *</ul>
    5.43 + *
    5.44 + * @author  unascribed
    5.45 + * @see     java.lang.Class#newInstance()
    5.46 + * @since   JDK1.0
    5.47 + */
    5.48 +public
    5.49 +class InstantiationException extends ReflectiveOperationException {
    5.50 +    private static final long serialVersionUID = -8441929162975509110L;
    5.51 +
    5.52 +    /**
    5.53 +     * Constructs an {@code InstantiationException} with no detail message.
    5.54 +     */
    5.55 +    public InstantiationException() {
    5.56 +        super();
    5.57 +    }
    5.58 +
    5.59 +    /**
    5.60 +     * Constructs an {@code InstantiationException} with the
    5.61 +     * specified detail message.
    5.62 +     *
    5.63 +     * @param   s   the detail message.
    5.64 +     */
    5.65 +    public InstantiationException(String s) {
    5.66 +        super(s);
    5.67 +    }
    5.68 +}
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/emul/src/main/java/java/lang/StringIndexOutOfBoundsException.java	Sat Sep 29 10:52:05 2012 +0200
     6.3 @@ -0,0 +1,71 @@
     6.4 +/*
     6.5 + * Copyright (c) 1994, 2008, Oracle and/or its affiliates. All rights reserved.
     6.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     6.7 + *
     6.8 + * This code is free software; you can redistribute it and/or modify it
     6.9 + * under the terms of the GNU General Public License version 2 only, as
    6.10 + * published by the Free Software Foundation.  Oracle designates this
    6.11 + * particular file as subject to the "Classpath" exception as provided
    6.12 + * by Oracle in the LICENSE file that accompanied this code.
    6.13 + *
    6.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
    6.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    6.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    6.17 + * version 2 for more details (a copy is included in the LICENSE file that
    6.18 + * accompanied this code).
    6.19 + *
    6.20 + * You should have received a copy of the GNU General Public License version
    6.21 + * 2 along with this work; if not, write to the Free Software Foundation,
    6.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    6.23 + *
    6.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    6.25 + * or visit www.oracle.com if you need additional information or have any
    6.26 + * questions.
    6.27 + */
    6.28 +
    6.29 +package java.lang;
    6.30 +
    6.31 +/**
    6.32 + * Thrown by <code>String</code> methods to indicate that an index
    6.33 + * is either negative or greater than the size of the string.  For
    6.34 + * some methods such as the charAt method, this exception also is
    6.35 + * thrown when the index is equal to the size of the string.
    6.36 + *
    6.37 + * @author  unascribed
    6.38 + * @see     java.lang.String#charAt(int)
    6.39 + * @since   JDK1.0
    6.40 + */
    6.41 +public
    6.42 +class StringIndexOutOfBoundsException extends IndexOutOfBoundsException {
    6.43 +    private static final long serialVersionUID = -6762910422159637258L;
    6.44 +
    6.45 +    /**
    6.46 +     * Constructs a <code>StringIndexOutOfBoundsException</code> with no
    6.47 +     * detail message.
    6.48 +     *
    6.49 +     * @since   JDK1.0.
    6.50 +     */
    6.51 +    public StringIndexOutOfBoundsException() {
    6.52 +        super();
    6.53 +    }
    6.54 +
    6.55 +    /**
    6.56 +     * Constructs a <code>StringIndexOutOfBoundsException</code> with
    6.57 +     * the specified detail message.
    6.58 +     *
    6.59 +     * @param   s   the detail message.
    6.60 +     */
    6.61 +    public StringIndexOutOfBoundsException(String s) {
    6.62 +        super(s);
    6.63 +    }
    6.64 +
    6.65 +    /**
    6.66 +     * Constructs a new <code>StringIndexOutOfBoundsException</code>
    6.67 +     * class with an argument indicating the illegal index.
    6.68 +     *
    6.69 +     * @param   index   the illegal index.
    6.70 +     */
    6.71 +    public StringIndexOutOfBoundsException(int index) {
    6.72 +        super("String index out of range: " + index);
    6.73 +    }
    6.74 +}
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/emul/src/main/java/java/lang/annotation/Annotation.java	Sat Sep 29 10:52:05 2012 +0200
     7.3 @@ -0,0 +1,131 @@
     7.4 +/*
     7.5 + * Copyright (c) 2003, 2009, Oracle and/or its affiliates. All rights reserved.
     7.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     7.7 + *
     7.8 + * This code is free software; you can redistribute it and/or modify it
     7.9 + * under the terms of the GNU General Public License version 2 only, as
    7.10 + * published by the Free Software Foundation.  Oracle designates this
    7.11 + * particular file as subject to the "Classpath" exception as provided
    7.12 + * by Oracle in the LICENSE file that accompanied this code.
    7.13 + *
    7.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
    7.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    7.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    7.17 + * version 2 for more details (a copy is included in the LICENSE file that
    7.18 + * accompanied this code).
    7.19 + *
    7.20 + * You should have received a copy of the GNU General Public License version
    7.21 + * 2 along with this work; if not, write to the Free Software Foundation,
    7.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    7.23 + *
    7.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    7.25 + * or visit www.oracle.com if you need additional information or have any
    7.26 + * questions.
    7.27 + */
    7.28 +
    7.29 +package java.lang.annotation;
    7.30 +
    7.31 +/**
    7.32 + * The common interface extended by all annotation types.  Note that an
    7.33 + * interface that manually extends this one does <i>not</i> define
    7.34 + * an annotation type.  Also note that this interface does not itself
    7.35 + * define an annotation type.
    7.36 + *
    7.37 + * More information about annotation types can be found in section 9.6 of
    7.38 + * <cite>The Java&trade; Language Specification</cite>.
    7.39 + *
    7.40 + * @author  Josh Bloch
    7.41 + * @since   1.5
    7.42 + */
    7.43 +public interface Annotation {
    7.44 +    /**
    7.45 +     * Returns true if the specified object represents an annotation
    7.46 +     * that is logically equivalent to this one.  In other words,
    7.47 +     * returns true if the specified object is an instance of the same
    7.48 +     * annotation type as this instance, all of whose members are equal
    7.49 +     * to the corresponding member of this annotation, as defined below:
    7.50 +     * <ul>
    7.51 +     *    <li>Two corresponding primitive typed members whose values are
    7.52 +     *    <tt>x</tt> and <tt>y</tt> are considered equal if <tt>x == y</tt>,
    7.53 +     *    unless their type is <tt>float</tt> or <tt>double</tt>.
    7.54 +     *
    7.55 +     *    <li>Two corresponding <tt>float</tt> members whose values
    7.56 +     *    are <tt>x</tt> and <tt>y</tt> are considered equal if
    7.57 +     *    <tt>Float.valueOf(x).equals(Float.valueOf(y))</tt>.
    7.58 +     *    (Unlike the <tt>==</tt> operator, NaN is considered equal
    7.59 +     *    to itself, and <tt>0.0f</tt> unequal to <tt>-0.0f</tt>.)
    7.60 +     *
    7.61 +     *    <li>Two corresponding <tt>double</tt> members whose values
    7.62 +     *    are <tt>x</tt> and <tt>y</tt> are considered equal if
    7.63 +     *    <tt>Double.valueOf(x).equals(Double.valueOf(y))</tt>.
    7.64 +     *    (Unlike the <tt>==</tt> operator, NaN is considered equal
    7.65 +     *    to itself, and <tt>0.0</tt> unequal to <tt>-0.0</tt>.)
    7.66 +     *
    7.67 +     *    <li>Two corresponding <tt>String</tt>, <tt>Class</tt>, enum, or
    7.68 +     *    annotation typed members whose values are <tt>x</tt> and <tt>y</tt>
    7.69 +     *    are considered equal if <tt>x.equals(y)</tt>.  (Note that this
    7.70 +     *    definition is recursive for annotation typed members.)
    7.71 +     *
    7.72 +     *    <li>Two corresponding array typed members <tt>x</tt> and <tt>y</tt>
    7.73 +     *    are considered equal if <tt>Arrays.equals(x, y)</tt>, for the
    7.74 +     *    appropriate overloading of {@link java.util.Arrays#equals}.
    7.75 +     * </ul>
    7.76 +     *
    7.77 +     * @return true if the specified object represents an annotation
    7.78 +     *     that is logically equivalent to this one, otherwise false
    7.79 +     */
    7.80 +    boolean equals(Object obj);
    7.81 +
    7.82 +    /**
    7.83 +     * Returns the hash code of this annotation, as defined below:
    7.84 +     *
    7.85 +     * <p>The hash code of an annotation is the sum of the hash codes
    7.86 +     * of its members (including those with default values), as defined
    7.87 +     * below:
    7.88 +     *
    7.89 +     * The hash code of an annotation member is (127 times the hash code
    7.90 +     * of the member-name as computed by {@link String#hashCode()}) XOR
    7.91 +     * the hash code of the member-value, as defined below:
    7.92 +     *
    7.93 +     * <p>The hash code of a member-value depends on its type:
    7.94 +     * <ul>
    7.95 +     * <li>The hash code of a primitive value <tt><i>v</i></tt> is equal to
    7.96 +     *     <tt><i>WrapperType</i>.valueOf(<i>v</i>).hashCode()</tt>, where
    7.97 +     *     <tt><i>WrapperType</i></tt> is the wrapper type corresponding
    7.98 +     *     to the primitive type of <tt><i>v</i></tt> ({@link Byte},
    7.99 +     *     {@link Character}, {@link Double}, {@link Float}, {@link Integer},
   7.100 +     *     {@link Long}, {@link Short}, or {@link Boolean}).
   7.101 +     *
   7.102 +     * <li>The hash code of a string, enum, class, or annotation member-value
   7.103 +     I     <tt><i>v</i></tt> is computed as by calling
   7.104 +     *     <tt><i>v</i>.hashCode()</tt>.  (In the case of annotation
   7.105 +     *     member values, this is a recursive definition.)
   7.106 +     *
   7.107 +     * <li>The hash code of an array member-value is computed by calling
   7.108 +     *     the appropriate overloading of
   7.109 +     *     {@link java.util.Arrays#hashCode(long[]) Arrays.hashCode}
   7.110 +     *     on the value.  (There is one overloading for each primitive
   7.111 +     *     type, and one for object reference types.)
   7.112 +     * </ul>
   7.113 +     *
   7.114 +     * @return the hash code of this annotation
   7.115 +     */
   7.116 +    int hashCode();
   7.117 +
   7.118 +    /**
   7.119 +     * Returns a string representation of this annotation.  The details
   7.120 +     * of the representation are implementation-dependent, but the following
   7.121 +     * may be regarded as typical:
   7.122 +     * <pre>
   7.123 +     *   &#064;com.acme.util.Name(first=Alfred, middle=E., last=Neuman)
   7.124 +     * </pre>
   7.125 +     *
   7.126 +     * @return a string representation of this annotation
   7.127 +     */
   7.128 +    String toString();
   7.129 +
   7.130 +    /**
   7.131 +     * Returns the annotation type of this annotation.
   7.132 +     */
   7.133 +    Class<? extends Annotation> annotationType();
   7.134 +}
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/emul/src/main/java/java/lang/annotation/Documented.java	Sat Sep 29 10:52:05 2012 +0200
     8.3 @@ -0,0 +1,43 @@
     8.4 +/*
     8.5 + * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
     8.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     8.7 + *
     8.8 + * This code is free software; you can redistribute it and/or modify it
     8.9 + * under the terms of the GNU General Public License version 2 only, as
    8.10 + * published by the Free Software Foundation.  Oracle designates this
    8.11 + * particular file as subject to the "Classpath" exception as provided
    8.12 + * by Oracle in the LICENSE file that accompanied this code.
    8.13 + *
    8.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
    8.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    8.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    8.17 + * version 2 for more details (a copy is included in the LICENSE file that
    8.18 + * accompanied this code).
    8.19 + *
    8.20 + * You should have received a copy of the GNU General Public License version
    8.21 + * 2 along with this work; if not, write to the Free Software Foundation,
    8.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    8.23 + *
    8.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    8.25 + * or visit www.oracle.com if you need additional information or have any
    8.26 + * questions.
    8.27 + */
    8.28 +
    8.29 +package java.lang.annotation;
    8.30 +
    8.31 +/**
    8.32 + * Indicates that annotations with a type are to be documented by javadoc
    8.33 + * and similar tools by default.  This type should be used to annotate the
    8.34 + * declarations of types whose annotations affect the use of annotated
    8.35 + * elements by their clients.  If a type declaration is annotated with
    8.36 + * Documented, its annotations become part of the public API
    8.37 + * of the annotated elements.
    8.38 + *
    8.39 + * @author  Joshua Bloch
    8.40 + * @since 1.5
    8.41 + */
    8.42 +@Documented
    8.43 +@Retention(RetentionPolicy.RUNTIME)
    8.44 +@Target(ElementType.ANNOTATION_TYPE)
    8.45 +public @interface Documented {
    8.46 +}
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/emul/src/main/java/java/lang/annotation/NullPointerException.java	Sat Sep 29 10:52:05 2012 +0200
     9.3 @@ -0,0 +1,72 @@
     9.4 +/*
     9.5 + * Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved.
     9.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     9.7 + *
     9.8 + * This code is free software; you can redistribute it and/or modify it
     9.9 + * under the terms of the GNU General Public License version 2 only, as
    9.10 + * published by the Free Software Foundation.  Oracle designates this
    9.11 + * particular file as subject to the "Classpath" exception as provided
    9.12 + * by Oracle in the LICENSE file that accompanied this code.
    9.13 + *
    9.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
    9.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    9.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    9.17 + * version 2 for more details (a copy is included in the LICENSE file that
    9.18 + * accompanied this code).
    9.19 + *
    9.20 + * You should have received a copy of the GNU General Public License version
    9.21 + * 2 along with this work; if not, write to the Free Software Foundation,
    9.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    9.23 + *
    9.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    9.25 + * or visit www.oracle.com if you need additional information or have any
    9.26 + * questions.
    9.27 + */
    9.28 +
    9.29 +package java.lang;
    9.30 +
    9.31 +/**
    9.32 + * Thrown when an application attempts to use {@code null} in a
    9.33 + * case where an object is required. These include:
    9.34 + * <ul>
    9.35 + * <li>Calling the instance method of a {@code null} object.
    9.36 + * <li>Accessing or modifying the field of a {@code null} object.
    9.37 + * <li>Taking the length of {@code null} as if it were an array.
    9.38 + * <li>Accessing or modifying the slots of {@code null} as if it
    9.39 + *     were an array.
    9.40 + * <li>Throwing {@code null} as if it were a {@code Throwable}
    9.41 + *     value.
    9.42 + * </ul>
    9.43 + * <p>
    9.44 + * Applications should throw instances of this class to indicate
    9.45 + * other illegal uses of the {@code null} object.
    9.46 + *
    9.47 + * {@code NullPointerException} objects may be constructed by the
    9.48 + * virtual machine as if {@linkplain Throwable#Throwable(String,
    9.49 + * Throwable, boolean, boolean) suppression were disabled and/or the
    9.50 + * stack trace was not writable}.
    9.51 + *
    9.52 + * @author  unascribed
    9.53 + * @since   JDK1.0
    9.54 + */
    9.55 +public
    9.56 +class NullPointerException extends RuntimeException {
    9.57 +    private static final long serialVersionUID = 5162710183389028792L;
    9.58 +
    9.59 +    /**
    9.60 +     * Constructs a {@code NullPointerException} with no detail message.
    9.61 +     */
    9.62 +    public NullPointerException() {
    9.63 +        super();
    9.64 +    }
    9.65 +
    9.66 +    /**
    9.67 +     * Constructs a {@code NullPointerException} with the specified
    9.68 +     * detail message.
    9.69 +     *
    9.70 +     * @param   s   the detail message.
    9.71 +     */
    9.72 +    public NullPointerException(String s) {
    9.73 +        super(s);
    9.74 +    }
    9.75 +}
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/emul/src/main/java/java/lang/annotation/Retention.java	Sat Sep 29 10:52:05 2012 +0200
    10.3 @@ -0,0 +1,47 @@
    10.4 +/*
    10.5 + * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
    10.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    10.7 + *
    10.8 + * This code is free software; you can redistribute it and/or modify it
    10.9 + * under the terms of the GNU General Public License version 2 only, as
   10.10 + * published by the Free Software Foundation.  Oracle designates this
   10.11 + * particular file as subject to the "Classpath" exception as provided
   10.12 + * by Oracle in the LICENSE file that accompanied this code.
   10.13 + *
   10.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
   10.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   10.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   10.17 + * version 2 for more details (a copy is included in the LICENSE file that
   10.18 + * accompanied this code).
   10.19 + *
   10.20 + * You should have received a copy of the GNU General Public License version
   10.21 + * 2 along with this work; if not, write to the Free Software Foundation,
   10.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   10.23 + *
   10.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   10.25 + * or visit www.oracle.com if you need additional information or have any
   10.26 + * questions.
   10.27 + */
   10.28 +
   10.29 +package java.lang.annotation;
   10.30 +
   10.31 +/**
   10.32 + * Indicates how long annotations with the annotated type are to
   10.33 + * be retained.  If no Retention annotation is present on
   10.34 + * an annotation type declaration, the retention policy defaults to
   10.35 + * {@code RetentionPolicy.CLASS}.
   10.36 + *
   10.37 + * <p>A Retention meta-annotation has effect only if the
   10.38 + * meta-annotated type is used directly for annotation.  It has no
   10.39 + * effect if the meta-annotated type is used as a member type in
   10.40 + * another annotation type.
   10.41 + *
   10.42 + * @author  Joshua Bloch
   10.43 + * @since 1.5
   10.44 + */
   10.45 +@Documented
   10.46 +@Retention(RetentionPolicy.RUNTIME)
   10.47 +@Target(ElementType.ANNOTATION_TYPE)
   10.48 +public @interface Retention {
   10.49 +    RetentionPolicy value();
   10.50 +}
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/emul/src/main/java/java/lang/annotation/RetentionPolicy.java	Sat Sep 29 10:52:05 2012 +0200
    11.3 @@ -0,0 +1,57 @@
    11.4 +/*
    11.5 + * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
    11.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    11.7 + *
    11.8 + * This code is free software; you can redistribute it and/or modify it
    11.9 + * under the terms of the GNU General Public License version 2 only, as
   11.10 + * published by the Free Software Foundation.  Oracle designates this
   11.11 + * particular file as subject to the "Classpath" exception as provided
   11.12 + * by Oracle in the LICENSE file that accompanied this code.
   11.13 + *
   11.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
   11.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   11.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   11.17 + * version 2 for more details (a copy is included in the LICENSE file that
   11.18 + * accompanied this code).
   11.19 + *
   11.20 + * You should have received a copy of the GNU General Public License version
   11.21 + * 2 along with this work; if not, write to the Free Software Foundation,
   11.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   11.23 + *
   11.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   11.25 + * or visit www.oracle.com if you need additional information or have any
   11.26 + * questions.
   11.27 + */
   11.28 +
   11.29 +package java.lang.annotation;
   11.30 +
   11.31 +/**
   11.32 + * Annotation retention policy.  The constants of this enumerated type
   11.33 + * describe the various policies for retaining annotations.  They are used
   11.34 + * in conjunction with the {@link Retention} meta-annotation type to specify
   11.35 + * how long annotations are to be retained.
   11.36 + *
   11.37 + * @author  Joshua Bloch
   11.38 + * @since 1.5
   11.39 + */
   11.40 +public enum RetentionPolicy {
   11.41 +    /**
   11.42 +     * Annotations are to be discarded by the compiler.
   11.43 +     */
   11.44 +    SOURCE,
   11.45 +
   11.46 +    /**
   11.47 +     * Annotations are to be recorded in the class file by the compiler
   11.48 +     * but need not be retained by the VM at run time.  This is the default
   11.49 +     * behavior.
   11.50 +     */
   11.51 +    CLASS,
   11.52 +
   11.53 +    /**
   11.54 +     * Annotations are to be recorded in the class file by the compiler and
   11.55 +     * retained by the VM at run time, so they may be read reflectively.
   11.56 +     *
   11.57 +     * @see java.lang.reflect.AnnotatedElement
   11.58 +     */
   11.59 +    RUNTIME
   11.60 +}
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/emul/src/main/java/java/lang/annotation/UnsupportedOperationException.java	Sat Sep 29 10:52:05 2012 +0200
    12.3 @@ -0,0 +1,94 @@
    12.4 +/*
    12.5 + * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
    12.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    12.7 + *
    12.8 + * This code is free software; you can redistribute it and/or modify it
    12.9 + * under the terms of the GNU General Public License version 2 only, as
   12.10 + * published by the Free Software Foundation.  Oracle designates this
   12.11 + * particular file as subject to the "Classpath" exception as provided
   12.12 + * by Oracle in the LICENSE file that accompanied this code.
   12.13 + *
   12.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
   12.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   12.16 + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   12.17 + * version 2 for more details (a copy is included in the LICENSE file that
   12.18 + * accompanied this code).
   12.19 + *
   12.20 + * You should have received a copy of the GNU General Public License version
   12.21 + * 2 along with this work; if not, write to the Free Software Foundation,
   12.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   12.23 + *
   12.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   12.25 + * or visit www.oracle.com if you need additional information or have any
   12.26 + * questions.
   12.27 + */
   12.28 +
   12.29 +package java.lang;
   12.30 +
   12.31 +/**
   12.32 + * Thrown to indicate that the requested operation is not supported.<p>
   12.33 + *
   12.34 + * This class is a member of the
   12.35 + * <a href="{@docRoot}/../technotes/guides/collections/index.html">
   12.36 + * Java Collections Framework</a>.
   12.37 + *
   12.38 + * @author  Josh Bloch
   12.39 + * @since   1.2
   12.40 + */
   12.41 +public class UnsupportedOperationException extends RuntimeException {
   12.42 +    /**
   12.43 +     * Constructs an UnsupportedOperationException with no detail message.
   12.44 +     */
   12.45 +    public UnsupportedOperationException() {
   12.46 +    }
   12.47 +
   12.48 +    /**
   12.49 +     * Constructs an UnsupportedOperationException with the specified
   12.50 +     * detail message.
   12.51 +     *
   12.52 +     * @param message the detail message
   12.53 +     */
   12.54 +    public UnsupportedOperationException(String message) {
   12.55 +        super(message);
   12.56 +    }
   12.57 +
   12.58 +    /**
   12.59 +     * Constructs a new exception with the specified detail message and
   12.60 +     * cause.
   12.61 +     *
   12.62 +     * <p>Note that the detail message associated with <code>cause</code> is
   12.63 +     * <i>not</i> automatically incorporated in this exception's detail
   12.64 +     * message.
   12.65 +     *
   12.66 +     * @param  message the detail message (which is saved for later retrieval
   12.67 +     *         by the {@link Throwable#getMessage()} method).
   12.68 +     * @param  cause the cause (which is saved for later retrieval by the
   12.69 +     *         {@link Throwable#getCause()} method).  (A <tt>null</tt> value
   12.70 +     *         is permitted, and indicates that the cause is nonexistent or
   12.71 +     *         unknown.)
   12.72 +     * @since 1.5
   12.73 +     */
   12.74 +    public UnsupportedOperationException(String message, Throwable cause) {
   12.75 +        super(message, cause);
   12.76 +    }
   12.77 +
   12.78 +    /**
   12.79 +     * Constructs a new exception with the specified cause and a detail
   12.80 +     * message of <tt>(cause==null ? null : cause.toString())</tt> (which
   12.81 +     * typically contains the class and detail message of <tt>cause</tt>).
   12.82 +     * This constructor is useful for exceptions that are little more than
   12.83 +     * wrappers for other throwables (for example, {@link
   12.84 +     * java.security.PrivilegedActionException}).
   12.85 +     *
   12.86 +     * @param  cause the cause (which is saved for later retrieval by the
   12.87 +     *         {@link Throwable#getCause()} method).  (A <tt>null</tt> value is
   12.88 +     *         permitted, and indicates that the cause is nonexistent or
   12.89 +     *         unknown.)
   12.90 +     * @since  1.5
   12.91 +     */
   12.92 +    public UnsupportedOperationException(Throwable cause) {
   12.93 +        super(cause);
   12.94 +    }
   12.95 +
   12.96 +    static final long serialVersionUID = -1242599979055084673L;
   12.97 +}