summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/throwables/MappingParseException.java
blob: b7e6d426c41e9cd39e6e35d95b33cba5307444de (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*******************************************************************************
 * Copyright (c) 2015 Jeff Martin.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the GNU Lesser General Public
 * License v3.0 which accompanies this distribution, and is available at
 * http://www.gnu.org/licenses/lgpl.html
 * <p>
 * Contributors:
 * Jeff Martin - initial API and implementation
 ******************************************************************************/

package cuchaz.enigma.throwables;

import java.io.File;
import java.util.function.Supplier;

public class MappingParseException extends Exception {

	private int line;
	private String message;
	private String filePath;

	public MappingParseException(File file, int line, String message) {
		this.line = line;
		this.message = message;
		filePath = file.getAbsolutePath();
	}

	public MappingParseException(Supplier<String> filenameProvider, int line, String message) {
		this.line = line;
		this.message = message;
		filePath = filenameProvider.get();
	}

	@Override
	public String getMessage() {
		return "Line " + line + ": " + message + " in file " + filePath;
	}
}