/* * Copyright (C) 2015 by Array Systems Computing Inc. http://www.array.ca * * This program 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 3 of the License, or (at your option) * any later version. * This program 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 this program; if not, see http://www.gnu.org/licenses/ */ package org.esa.s1tbx.io.binary; /** * Description of IllegalCeosFormatException * <p/> * <p>This class is public for the benefit of the implementation of another (internal) class and its API may * change in future releases of the software.</p> * * @author Marco Peters */ public class IllegalBinaryFormatException extends Exception { private final long _streamPos; /** * Constructs a new exception with the specified detail message. The * cause is not initialized, and may subsequently be initialized by * a call to {@link #initCause}. * * @param message the detail message. The detail message is saved for * later retrieval by the {@link #getMessage()} method. * @param streamPos */ public IllegalBinaryFormatException(final String message, final long streamPos) { super(message); _streamPos = streamPos; } /** * Constructs a new exception with the specified detail message and * cause. <p>Note that the detail message associated with * <code>cause</code> is <i>not</i> automatically incorporated in * this exception's detail message. * * @param message the detail message (which is saved for later retrieval * by the {@link #getMessage()} method). * @param streamPos * @param cause the cause (which is saved for later retrieval by the * {@link #getCause()} method). (A <tt>null</tt> value is * permitted, and indicates that the cause is nonexistent or * unknown.) */ public IllegalBinaryFormatException(final String message, final long streamPos, final Throwable cause) { super(message, cause); _streamPos = streamPos; } public long getStreamPos() { return _streamPos; } /** * Returns the detail message string of this throwable. * * @return the detail message string of this <tt>Throwable</tt> instance * (which may be <tt>null</tt>). */ @Override public String getMessage() { return super.getMessage() + "; at stream position=" + _streamPos; } }