package com.kartoflane.ftl.layout;
/**
* Class for exceptions thrown by the FTLLayoutParser.
* Can be used to retrieve the partial layout that the parser has
* successfully built before the error was encountered.
*
* @author kartoFlane
*
*/
public class FTLLayoutParseException extends Exception {
private static final long serialVersionUID = 600L;
private ShipLayout partialLayout = null;
private int line = -1;
public FTLLayoutParseException() {
super();
}
public FTLLayoutParseException(String message) {
super(message);
}
public FTLLayoutParseException(String message, int line) {
this(message, null, null);
this.line = line;
}
public FTLLayoutParseException(String message, ShipLayout partialLayout) {
this(message, null, partialLayout);
}
public FTLLayoutParseException(String message, ShipLayout partialLayout, int line) {
this(message, partialLayout);
this.line = line;
}
public FTLLayoutParseException(String message, Throwable cause) {
this(message, cause, null);
}
public FTLLayoutParseException(String message, Throwable cause, int line) {
this(message, cause, null);
this.line = line;
}
public FTLLayoutParseException(String message, Throwable cause, ShipLayout partialLayout) {
super(message, cause);
this.partialLayout = partialLayout;
}
public FTLLayoutParseException(String message, Throwable cause, ShipLayout partialLayout, int line) {
this(message, cause, partialLayout);
this.line = line;
}
/**
* @return the partial layout that was successfully built before the error occured.
*/
public ShipLayout getPartialLayout() {
return partialLayout;
}
public int getLine() {
return line;
}
}