View Javadoc
1   /*
2    * Copyright (C) 2011, GitHub Inc. and others
3    *
4    * This program and the accompanying materials are made available under the
5    * terms of the Eclipse Distribution License v. 1.0 which is available at
6    * https://www.eclipse.org/org/documents/edl-v10.php.
7    *
8    * SPDX-License-Identifier: BSD-3-Clause
9    */
10  package org.eclipse.jgit.errors;
11  
12  import java.io.File;
13  import java.io.IOException;
14  import java.text.MessageFormat;
15  
16  import org.eclipse.jgit.internal.JGitText;
17  
18  /**
19   * An exception occurring when a file cannot be locked
20   */
21  public class LockFailedException extends IOException {
22  	private static final long serialVersionUID = 1L;
23  
24  	private File file;
25  
26  	/**
27  	 * Constructor for LockFailedException
28  	 *
29  	 * @param file
30  	 *            file that could not be locked
31  	 * @param message
32  	 *            exception message
33  	 * @param cause
34  	 *            cause, for later retrieval by
35  	 *            {@link java.lang.Throwable#getCause()}
36  	 * @since 4.1
37  	 */
38  	public LockFailedException(File file, String message, Throwable cause) {
39  		super(message, cause);
40  		this.file = file;
41  	}
42  
43  	/**
44  	 * Construct a CannotLockException for the given file and message
45  	 *
46  	 * @param file
47  	 *            file that could not be locked
48  	 * @param message
49  	 *            exception message
50  	 */
51  	public LockFailedException(File file, String message) {
52  		super(message);
53  		this.file = file;
54  	}
55  
56  	/**
57  	 * Construct a CannotLockException for the given file
58  	 *
59  	 * @param file
60  	 *            file that could not be locked
61  	 */
62  	public LockFailedException(File file) {
63  		this(file, MessageFormat.format(JGitText.get().cannotLock, file));
64  	}
65  
66  	/**
67  	 * Get the file that could not be locked
68  	 *
69  	 * @return file
70  	 */
71  	public File getFile() {
72  		return file;
73  	}
74  }