// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm_server.io;
import static org.openstreetmap.josm.tools.I18n.tr;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
/**
* GWT ok
*/
public class OsmDataParsingException extends SAXException {
private int columnNumber;
private int lineNumber;
public OsmDataParsingException() {
super();
}
public OsmDataParsingException(Exception e) {
super(e);
}
public OsmDataParsingException(String message, Exception e) {
super(message, e);
}
public OsmDataParsingException(String message) {
super(message);
}
public OsmDataParsingException rememberLocation(Locator locator) {
if (locator == null) return this;
this.columnNumber = locator.getColumnNumber();
this.lineNumber = locator.getLineNumber();
return this;
}
@Override
public String getMessage() {
String msg = super.getMessage();
if (lineNumber == 0 && columnNumber == 0)
return msg;
if (msg == null) {
msg = getClass().getName();
}
msg = msg + " " + tr("(at line {0}, column {1})", lineNumber, columnNumber);
return msg;
}
public int getColumnNumber() {
return columnNumber;
}
public int getLineNumber() {
return lineNumber;
}
}