// // AddeException.java // /* This source file is part of the edu.wisc.ssec.mcidas package and is Copyright (C) 1998 - 2017 by Tom Whittaker, Tommy Jasmin, Tom Rink, Don Murray, James Kelly, Bill Hibbard, Dave Glowacki, Curtis Rueden and others. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ package edu.wisc.ssec.mcidas.adde; import edu.wisc.ssec.mcidas.McIDASException; /** * {@code AddeException} class is to handle exceptions when dealing * with ADDE access to data. More general than {@link AddeURLException}. * * @author Don Murray - Unidata */ public class AddeException extends McIDASException { /** ADDE error code associated with this exception, if any. */ private final int addeErrorCode; /** Whether or not an error code has been set for this exception. */ private final boolean hasAddeErrorCode; /** * Constructs an AddeException with no specified detail message. */ public AddeException() { super(); hasAddeErrorCode = false; addeErrorCode = 0; } /** * Constructs an AddeException with the specified detail message. * * @param message The detail message. */ public AddeException(String message) { super(message); hasAddeErrorCode = false; addeErrorCode = 0; } /** * Constructs an {@code AddeException} with an ADDE error code in place of a * detail message. * * @param errorCode ADDE error code. */ public AddeException(int errorCode) { super(); hasAddeErrorCode = true; addeErrorCode = errorCode; } /** * Constructs an {@code AddeException} with an ADDE error code and a detail * message. * * @param errorCode ADDE error code. * @param message Detail message. */ public AddeException(int errorCode, String message) { super(message); hasAddeErrorCode = true; addeErrorCode = errorCode; } /** * Constructs an {@code AddeException} with an ADDE error code and the * cause of the exception. * * @param errorCode ADDE error code. * @param cause Cause of the exception. {@code null} indicates that the * cause is nonexistent or unknown. */ public AddeException(int errorCode, Throwable cause) { super(cause); hasAddeErrorCode = true; addeErrorCode = errorCode; } /** * Constructs a {@code AddeException} with the specified detail message * and cause. * * @param message Detail message. * @param cause Cause of the exception. {@code null} indicates that the * cause is nonexistent or unknown. */ public AddeException(String message, Throwable cause) { super(message, cause); hasAddeErrorCode = false; addeErrorCode = 0; } /** * Constructs an {@code AddeException} with an ADDE error code, detail * message, and cause. * * @param errorCode ADDE error code. * @param message Detail message. * @param cause Cause of the exception. {@code null} indicates that the * cause is nonexistent or unknown. */ public AddeException(int errorCode, String message, Throwable cause) { super(message, cause); hasAddeErrorCode = true; addeErrorCode = errorCode; } /** * Constructs an {@code AddeException} with the specified cause. * * @param cause Cause of the exception. {@code null} indicates that the * cause is nonexistent or unknown. */ public AddeException(Throwable cause) { super(cause); hasAddeErrorCode = false; addeErrorCode = 0; } /** * Returns the ADDE error code associated with this exception. <b>Note:</b> * you should first check for the presence of an error code via * {@link #hasAddeErrorCode()}. * * @return The ADDE error code associated with this exception. */ public int getAddeErrorCode() { return addeErrorCode; } /** * Determine whether or not an error code has been provided for this * exception. * * @return Whether or not an ADDE error code has been provided. */ public boolean hasAddeErrorCode() { return hasAddeErrorCode; } }