001/*
002 *  Copyright 2012 Chris Pheby
003 *
004 *  Licensed under the Apache License, Version 2.0 (the "License");
005 *  you may not use this file except in compliance with the License.
006 *  You may obtain a copy of the License at
007 *
008 *      http://www.apache.org/licenses/LICENSE-2.0
009 *
010 *  Unless required by applicable law or agreed to in writing, software
011 *  distributed under the License is distributed on an "AS IS" BASIS,
012 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 *  See the License for the specific language governing permissions and
014 *  limitations under the License.
015 */
016package org.jadira.scanner.core.exception;
017
018/**
019 * Indicates a problem arising during introspection
020 */
021public class ClasspathAccessException extends RuntimeException {
022
023    /**
024     * serialVersionUID for this class
025     */
026    private static final long serialVersionUID = -2088658342781148714L;
027
028    /**
029     * Constructs an {@code ClasspathAccessException} with {@code null} as its error detail message.
030     */
031    public ClasspathAccessException() {
032        super();
033    }
034
035    /**
036     * Constructs an {@code ClasspathAccessException} with the specified detail message.
037     * @param message The detail message (which is saved for later retrieval by the
038     *            {@link #getMessage()} method)
039     */
040    public ClasspathAccessException(String message) {
041        super(message);
042    }
043
044    /**
045     * Constructs an {@code ClasspathAccessException} with the specified detail message and cause.
046     * <p>
047     * Note that the detail message associated with {@code cause} is <i>not</i> automatically
048     * incorporated into this exception's detail message.
049     * @param message The detail message (which is saved for later retrieval by the
050     *            {@link #getMessage()} method)
051     * @param cause The cause (which is saved for later retrieval by the {@link #getCause()}
052     *            method). (A null value is permitted, and indicates that the cause is nonexistent
053     *            or unknown.)
054     */
055    public ClasspathAccessException(String message, Throwable cause) {
056        super(message, cause);
057    }
058
059    /**
060     * Constructs an {@code ClasspathAccessException} with the specified cause and a detail message of
061     * {@code (cause==null ? null : cause.toString())} (which typically contains the class and
062     * detail message of {@code cause}). This constructor is useful for IntrospectionExceptions
063     * that are little more than wrappers for other {@link Throwable} instances.
064     * @param cause The cause (which is saved for later retrieval by the {@link #getCause()}
065     *            method). (A null value is permitted, and indicates that the cause is nonexistent
066     *            or unknown.)
067     */
068    public ClasspathAccessException(Throwable cause) {
069        super(cause);
070    }
071}