diff options
| author | Eric Blake <ebb9@byu.net> | 2002-02-24 04:25:15 +0000 |
|---|---|---|
| committer | Eric Blake <ebb9@byu.net> | 2002-02-24 04:25:15 +0000 |
| commit | a3f60f71365174676e1302f0b201f5772849ffd3 (patch) | |
| tree | 493dd1be8064241b1d269916046f7c1f1247b603 /java/security/cert/CertPathValidatorException.java | |
| parent | 70f6e1ec80b4ffc5370564b2710ee194054da42f (diff) | |
| download | classpath-a3f60f71365174676e1302f0b201f5772849ffd3.tar.gz | |
2002-02-23 Eric Blake <ebb9@email.byu.edu>
* java/awt/AWTError.java: Update to 1.4.
* java/awt/AWTException.java: Ditto.
* java/awt/IllegalComponentStateException.java: Ditto.
* java/awt/datatransfer/MimeTypeParseException.java: Ditto.
* java/awt/datatransfer/UnsupportedFlavorException.java: Ditto.
* java/awt/geom/IllegalPathStateException.java: Ditto.
* java/awt/geom/NoninvertibleTransformException.java: Ditto.
* java/awt/print/PrinterAbortException.java: Ditto.
* java/awt/print/PrinterException.java: Ditto.
* java/awt/print/PrinterIOException.java: Ditto.
* java/beans/IntrospectionException.java: Ditto.
* java/beans/PropertyVetoException.java: Ditto.
* java/io/CharConversionException.java: Ditto.
* java/io/EOFException.java: Ditto.
* java/io/FileNotFoundException.java: Ditto.
* java/io/InterruptedIOException.java: Ditto.
* java/io/InvalidClassException.java: Ditto.
* java/io/InvalidObjectException.java: Ditto.
* java/io/IOException.java: Ditto.
* java/io/NotActiveException.java: Ditto.
* java/io/NotSerializableException.java: Ditto.
* java/io/ObjectStreamException.java: Ditto.
* java/io/OptionalDataException.java: Ditto.
* java/io/StreamCorruptedException.java: Ditto.
* java/io/SyncFailedException.java: Ditto.
* java/io/UnsupportedEncodingException.java: Ditto.
* java/io/UTFDataFormatException.java: Ditto.
* java/io/WriteAbortedException.java: Ditto.
* java/lang/AbstractMethodError.java: Ditto.
* java/lang/ArithmeticException.java: Ditto.
* java/lang/ArrayIndexOutOfBoundsException.java: Ditto.
* java/lang/ArrayStoreException.java: Ditto.
* java/lang/AssertionError.java: Ditto.
* java/lang/ClassCastException.java: Ditto.
* java/lang/ClassCircularityError.java: Ditto.
* java/lang/ClassFormatError.java: Ditto.
* java/lang/ClassNotFoundException.java: Ditto.
* java/lang/CloneNotSupportedException.java: Ditto.
* java/lang/Exception.java: Ditto.
* java/lang/ExceptionInInitializerError.java: Ditto.
* java/lang/IllegalAccessError.java: Ditto.
* java/lang/IllegalAccessException.java: Ditto.
* java/lang/IllegalArgumentException.java: Ditto.
* java/lang/IllegalMonitorStateException.java: Ditto.
* java/lang/IllegalStateException.java: Ditto.
* java/lang/IllegalThreadStateException.java: Ditto.
* java/lang/IncompatibleClassChangeError.java: Ditto.
* java/lang/IndexOutOfBoundsException.java: Ditto.
* java/lang/InstantiationError.java: Ditto.
* java/lang/InstantiationException.java: Ditto.
* java/lang/InternalError.java: Ditto.
* java/lang/InterruptedException.java: Ditto.
* java/lang/LinkageError.java: Ditto.
* java/lang/NegativeArraySizeException.java: Ditto.
* java/lang/NoClassDefFoundError.java: Ditto.
* java/lang/NoSuchFieldError.java: Ditto.
* java/lang/NoSuchFieldException.java: Ditto.
* java/lang/NoSuchMethodError.java: Ditto.
* java/lang/NoSuchMethodException.java: Ditto.
* java/lang/NullPointerException.java: Ditto.
* java/lang/NumberFormatException.java: Ditto.
* java/lang/OutOfMemoryError.java: Ditto.
* java/lang/RuntimeException.java: Ditto.
* java/lang/SecurityException.java: Ditto.
* java/lang/StackOverflowError.java: Ditto.
* java/lang/StringIndexOutOfBoundsException.java: Ditto.
* java/lang/ThreadDeath.java: Ditto.
* java/lang/UnknownError.java: Ditto.
* java/lang/UnsatisfiedLinkError.java: Ditto.
* java/lang/UnsupportedClassVersionError.java: Ditto.
* java/lang/UnsupportedOperationException.java: Ditto.
* java/lang/VerifyError.java: Ditto.
* java/lang/VirtualMachineError.java: Ditto.
* java/lang/Void.java: Ditto.
* java/lang/reflect/InvocationTargetException.java: Ditto.
* java/lang/reflect/UndeclaredThrowableException.java: Ditto.
* java/net/BindException.java: Ditto.
* java/net/ConnectException.java: Ditto.
* java/net/MalformedURLException.java: Ditto.
* java/net/NoRouteToHostException.java: Ditto.
* java/net/ProtocolException.java: Ditto.
* java/net/SocketException.java: Ditto.
* java/net/UnknownHostException.java: Ditto.
* java/net/UnknownServiceException.java: Ditto.
* java/rmi/AccessException.java: Ditto.
* java/rmi/AlreadyBoundException.java: Ditto.
* java/rmi/ConnectException.java: Ditto.
* java/rmi/ConnectIOException.java: Ditto.
* java/rmi/MarshalException.java: Ditto.
* java/rmi/NoSuchObjectException.java: Ditto.
* java/rmi/NotBoundException.java: Ditto.
* java/rmi/RemoteException.java: Ditto.
* java/rmi/RMISecurityException.java: Ditto.
* java/rmi/ServerException.java: Ditto.
* java/rmi/ServerRuntimeException.java: Ditto.
* java/rmi/StubNotFoundException.java: Ditto.
* java/rmi/UnexpectedException.java: Ditto.
* java/rmi/UnknownHostException.java: Ditto.
* java/rmi/UnmarshalException.java: Ditto.
* java/rmi/activation/ActivateFailedException.java: Ditto.
* java/rmi/activation/ActivationException.java: Ditto.
* java/rmi/activation/UnknownGroupException.java: Ditto.
* java/rmi/activation/UnknownObjectException.java: Ditto.
* java/rmi/server/ExportException.java: Ditto.
* java/rmi/server/ServerCloneException.java: Ditto.
* java/rmi/server/ServerNotActiveException.java: Ditto.
* java/rmi/server/SkeletonMismatchException.java: Ditto.
* java/rmi/server/SkeletonNotFoundException.java: Ditto.
* java/rmi/server/SocketSecurityException.java: Ditto.
* java/security/AccessControlException.java: Ditto.
* java/security/DigestException.java: Ditto.
* java/security/GeneralSecurityException.java: Ditto.
* java/security/InvalidAlgorithmParameterException.java: Ditto.
* java/security/InvalidKeyException.java: Ditto.
* java/security/InvalidParameterException.java: Ditto.
* java/security/KeyException.java: Ditto.
* java/security/KeyManagementException.java: Ditto.
* java/security/KeyStoreException.java: Ditto.
* java/security/NoSuchAlgorithmException.java: Ditto.
* java/security/NoSuchProviderException.java: Ditto.
* java/security/PrivilegedActionException.java: Ditto.
* java/security/ProviderException.java: Ditto.
* java/security/SignatureException.java: Ditto.
* java/security/UnrecoverableKeyException.java: Ditto.
* java/security/acl/AclNotFoundException.java: Ditto.
* java/security/acl/LastOwnerException.java: Ditto.
* java/security/acl/NotOwnerException.java: Ditto.
* java/security/cert/CertificateEncodingException.java: Ditto.
* java/security/cert/CertificateException.java: Ditto.
* java/security/cert/CertificateExpiredException.java: Ditto.
* java/security/cert/CertificateNotYetValidException.java: Ditto.
* java/security/cert/CertificateParsingException.java: Ditto.
* java/security/cert/CRLException.java: Ditto.
* java/security/spec/InvalidKeySpecException.java: Ditto.
* java/security/spec/InvalidParameterSpecException.java: Ditto.
* java/sql/BatchUpdateException.java: Ditto.
* java/sql/DataTruncation.java: Ditto.
* java/sql/SQLException.java: Ditto.
* java/sql/SQLWarning.java: Ditto.
* java/text/ParseException.java: Ditto.
* java/util/MissingResourceException.java: Ditto.
* java/util/jar/JarException.java: Ditto.
* java/util/prefs/BackingStoreException.java: Ditto.
* java/util/prefs/InvalidPreferencesFormatException.java: Ditto.
* java/util/zip/DataFormatException.java: Ditto.
* java/util/zip/ZipException.java: Ditto.
* java/awt/Makefile.am (EXTRA_DIST): Add FontFormatException.java
and HeadlessException.java.
* java/awt/FontFormatException.java: New file.
* java/awt/HeadlessException.java: New file.
* java/awt/color/Makefile.am (EXTRA_DIST): Add CMMException.java
and ProfileDataException.java.
* java/awt/color/CMMException.java: New file.
* java/awt/color/ProfileDataException.java: New file.
* java/awt/image/Makefile.am (EXTRA_DIST): Add
ImagingOpException.java and RasterFormatException.java.
* java/awt/image/ImagingOpException.java: New file.
* java/awt/image/RasterFormatException.java: New file.
* java/net/Makefile.am (EXTRA_DIST): Add
PortUnreachableException.java, SocketTimeoutException.java and
URISyntaxException.java.
* java/net/PortUnreachableException.java: New file.
* java/net/SocketTimeoutException.java: New file.
* java/net/URISyntaxException.java: New file.
* java/security/cert/Makefile.am (EXTRA_DIST): Add
CertPathBuilderException.java, CertPathValidatorException.java,
and CertStoreException.java.
* java/security/cert/CertPathBuilderException.java: New file.
* java/security/cert/CertPathValidatorException.java: New file.
* java/security/cert/CertStoreException.java: New file.
* vm/reference/java/lang/Throwable.java (toString): Use
getLocalizedMessage().
* ChangeLog: Fix spelling error.
Diffstat (limited to 'java/security/cert/CertPathValidatorException.java')
| -rw-r--r-- | java/security/cert/CertPathValidatorException.java | 226 |
1 files changed, 226 insertions, 0 deletions
diff --git a/java/security/cert/CertPathValidatorException.java b/java/security/cert/CertPathValidatorException.java new file mode 100644 index 000000000..e7b40b8d3 --- /dev/null +++ b/java/security/cert/CertPathValidatorException.java @@ -0,0 +1,226 @@ +/* CertPathValidatorException.java -- wraps an exception during validation + of a CertPath + Copyright (C) 2002 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package java.security.cert; + +import java.io.PrintStream; +import java.io.PrintWriter; +import java.security.GeneralSecurityException; + +/** + * Indicates a problem while validating a certification path. In addition, + * it can store the path an index in that path that caused the problem. This + * class is not thread-safe. + * + * @author Eric Blake <ebb9@email.byu.edu> + * @see CertPathValidator + * @since 1.4 + * @status updated to 1.4 +*/ +public class CertPathValidatorException extends GeneralSecurityException +{ + /** + * Compatible with JDK 1.4+. + */ + private static final long serialVersionUID = -3083180014971893139L; + + /** + * The index of the certificate path that failed, or -1. + * + * @serial the failed index + */ + private final int index; + + /** + * The <code>CertPath</code> that failed. + * + * @serial the object being validated at time of failure + */ + private final CertPath certPath; + + /** + * Create an exception without a message. The cause may be initialized. The + * index is set to -1 and the failed CertPath object to null. + */ + public CertPathValidatorException() + { + this((String) null); + } + + /** + * Create an exception with a message. The cause may be initialized. The + * index is set to -1 and the failed CertPath object to null. + * + * @param msg a message to display with exception + */ + public CertPathValidatorException(String msg) + { + super(msg); + index = -1; + certPath = null; + } + + /** + * Create an exception with a cause. The message will be + * <code>cause == null ? null : cause.toString()</code>. The index is set + * to -1 and the failed CertPath object to null. + * + * @param cause the cause + */ + public CertPathValidatorException(Throwable cause) + { + this(cause == null ? null : cause.toString(), cause, null, -1); + } + + /** + * Create an exception with a cause and a message. The index is set to -1 + * and the failed CertPath object to null. + * + * @param msg the message + * @param cause the cause + */ + public CertPathValidatorException(String msg, Throwable cause) + { + this(msg, cause, null, -1); + } + + /** + * Create an exception with a cause, message, failed object, and index of + * failure in that CertPath. + * + * @param msg the message + * @param cause the cause + * @param certPath the path that was being validated, or null + * @param index the index of the path, or -1 + * @throws IndexOutOfBoundsException if index is < -1 or + * > certPath.getCertificates().size() + * @throws IllegalArgumentException if certPath is null but index != -1 + */ + public CertPathValidatorException(String msg, Throwable cause, + CertPath certPath, int index) + { + super(msg); + initCause(cause); + if (index < -1 || (certPath != null + && index >= certPath.getCertificates().size())) + throw new IndexOutOfBoundsException(); + if ((certPath == null) != (index == -1)) + throw new IllegalArgumentException(); + this.certPath = certPath; + this.index = index; + } + + /** + * Get the detail message. + * + * @return the detail message + */ + public String getMessage() + { + return super.getMessage(); + } + + /** + * Get the certificate path that had the failure, or null. + * + * @return the culprit path + */ + public CertPath getCertPath() + { + return certPath; + } + + /** + * Get the index that failed, or -1. + * + * @return the colprit index + */ + public int getIndex() + { + return index; + } + + /** + * Get the cause, null if unknown. + * + * @return the cause + */ + public Throwable getCause() + { + return super.getCause(); + } + + /** + * Convert this to a string, including its cause. + * + * @return the string conversion + */ + public String toString() + { + return super.toString(); + } + + /** + * Print the stack trace to <code>System.err</code>. + */ + public void printStackTrace() + { + super.printStackTrace(); + } + + /** + * Print the stack trace to a stream. + * + * @param stream the stream + */ + public void printStackTrace(PrintStream stream) + { + super.printStackTrace(stream); + } + + /** + * Print the stack trace to a stream. + * + * @param stream the stream + */ + public void printStackTrace(PrintWriter stream) + { + super.printStackTrace(stream); + } +} |
