tikhomirov@318: /* tikhomirov@628: * Copyright (c) 2011-2013 TMate Software Ltd tikhomirov@318: * tikhomirov@318: * This program is free software; you can redistribute it and/or modify tikhomirov@318: * it under the terms of the GNU General Public License as published by tikhomirov@318: * the Free Software Foundation; version 2 of the License. tikhomirov@318: * tikhomirov@318: * This program is distributed in the hope that it will be useful, tikhomirov@318: * but WITHOUT ANY WARRANTY; without even the implied warranty of tikhomirov@318: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the tikhomirov@318: * GNU General Public License for more details. tikhomirov@318: * tikhomirov@318: * For information on how to redistribute this software under tikhomirov@318: * the terms of a license other than GNU General Public License tikhomirov@318: * contact TMate Software at support@hg4j.com tikhomirov@318: */ tikhomirov@423: package org.tmatesoft.hg.repo; tikhomirov@318: tikhomirov@318: import java.io.File; tikhomirov@318: tikhomirov@628: import org.tmatesoft.hg.core.HgIOException; tikhomirov@423: import org.tmatesoft.hg.core.Nodeid; tikhomirov@396: import org.tmatesoft.hg.util.Path; tikhomirov@318: tikhomirov@318: /** tikhomirov@335: * Subclass of {@link HgInvalidFileException} to indicate failure to deal with one of Mercurial control files tikhomirov@335: * (most likely those under .hg/, but also those residing in the repository, with special meaning to the Mercurial, like .hgtags or .hgignore) tikhomirov@396: * tikhomirov@318: * @author Artem Tikhomirov tikhomirov@318: * @author TMate Software Ltd. tikhomirov@318: */ tikhomirov@318: @SuppressWarnings("serial") tikhomirov@318: public class HgInvalidControlFileException extends HgInvalidFileException { tikhomirov@467: // XXX Perhaps, child HgInvalidRevlogException and parent HgInvalidRepositoryFileException? tikhomirov@318: tikhomirov@318: public HgInvalidControlFileException(String message, Throwable th, File file) { tikhomirov@318: super(message, th, file); tikhomirov@318: } tikhomirov@628: tikhomirov@628: public HgInvalidControlFileException(HgIOException ex, boolean replaceStackTrace) { tikhomirov@628: super(ex.getMessage(), ex.getCause(), ex.getFile()); tikhomirov@628: if (replaceStackTrace) { tikhomirov@628: setStackTrace(ex.getStackTrace()); tikhomirov@628: } tikhomirov@628: } tikhomirov@318: tikhomirov@348: @Override tikhomirov@348: public HgInvalidControlFileException setFile(File file) { tikhomirov@348: super.setFile(file); tikhomirov@348: return this; tikhomirov@348: } tikhomirov@354: tikhomirov@354: @Override tikhomirov@354: public HgInvalidControlFileException setRevision(Nodeid r) { tikhomirov@396: return (HgInvalidControlFileException) super.setRevision(r); tikhomirov@354: } tikhomirov@394: tikhomirov@394: @Override tikhomirov@396: public HgInvalidControlFileException setRevisionIndex(int rev) { tikhomirov@396: return (HgInvalidControlFileException) super.setRevisionIndex(rev); tikhomirov@396: } tikhomirov@396: tikhomirov@396: @Override tikhomirov@396: public HgInvalidControlFileException setFileName(Path name) { tikhomirov@396: return (HgInvalidControlFileException) super.setFileName(name); tikhomirov@394: } tikhomirov@318: }