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}