| /* | |
| * Copyright (C) 2009, Google Inc. | |
| * Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org> and others | |
| * | |
| * This program and the accompanying materials are made available under the | |
| * terms of the Eclipse Distribution License v. 1.0 which is available at | |
| * https://www.eclipse.org/org/documents/edl-v10.php. | |
| * | |
| * SPDX-License-Identifier: BSD-3-Clause | |
| */ | |
| package org.eclipse.jgit.pgm; | |
| /** | |
| * Indicates a {@link org.eclipse.jgit.pgm.TextBuiltin} implementation has | |
| * failed during execution. | |
| * <p> | |
| * Typically the stack trace for a Die exception is not shown to the user as it | |
| * may indicate a simple error condition that the end-user can fix on their own, | |
| * without needing a screen of Java stack frames. | |
| */ | |
| public class Die extends RuntimeException { | |
| private static final long serialVersionUID = 1L; | |
| private boolean aborted; | |
| /** | |
| * Construct a new message explaining what has gone wrong. | |
| * | |
| * @param why | |
| * the message to show to the end-user. | |
| */ | |
| public Die(String why) { | |
| super(why); | |
| } | |
| /** | |
| * Construct a new message explaining what has gone wrong. | |
| * | |
| * @param why | |
| * the message to show to the end-user. | |
| * @param cause | |
| * why the command has failed. | |
| */ | |
| public Die(String why, Throwable cause) { | |
| super(why, cause); | |
| } | |
| /** | |
| * Construct a new exception reflecting the fact that the | |
| * command execution has been aborted before running. | |
| * | |
| * @param aborted boolean indicating the fact the execution has been aborted | |
| * @since 3.4 | |
| */ | |
| public Die(boolean aborted) { | |
| this(aborted, null); | |
| } | |
| /** | |
| * Construct a new exception reflecting the fact that the command execution | |
| * has been aborted before running. | |
| * | |
| * @param aborted | |
| * boolean indicating the fact the execution has been aborted | |
| * @param cause | |
| * can be null | |
| * @since 4.2 | |
| */ | |
| public Die(boolean aborted, Throwable cause) { | |
| super(cause != null ? cause.getMessage() : null, cause); | |
| this.aborted = aborted; | |
| } | |
| /** | |
| * Check if this exception should cause the execution to be aborted. | |
| * | |
| * @return boolean indicating that the execution should be aborted | |
| * @since 3.4 | |
| */ | |
| public boolean isAborted() { | |
| return aborted; | |
| } | |
| } |