source: josm/trunk/src/org/openstreetmap/josm/tools/template_engine/ParseError.java@ 14039

Last change on this file since 14039 was 13003, checked in by bastiK, 7 years ago

see #14794 - add missing top level javadoc; minor refactoring for Condition

  • Property svn:eol-style set to native
File size: 1.6 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.tools.template_engine;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import org.openstreetmap.josm.data.osm.search.SearchParseError;
7import org.openstreetmap.josm.tools.template_engine.Tokenizer.Token;
8import org.openstreetmap.josm.tools.template_engine.Tokenizer.TokenType;
9
10/**
11 * Exception thrown in case of an error during template parsing.
12 *
13 * Usually caused by invalid user input.
14 */
15public class ParseError extends Exception {
16
17 private final transient Token unexpectedToken;
18
19 public ParseError(Token unexpectedToken) {
20 super(tr("Unexpected token ({0}) on position {1}", unexpectedToken.getType(), unexpectedToken.getPosition()));
21 this.unexpectedToken = unexpectedToken;
22 }
23
24 public ParseError(Token unexpectedToken, TokenType expected) {
25 super(tr("Unexpected token on position {0}. Expected {1}, found {2}",
26 unexpectedToken.getPosition(), expected, unexpectedToken.getType()));
27 this.unexpectedToken = unexpectedToken;
28 }
29
30 public ParseError(int position, SearchParseError e) {
31 super(tr("Error while parsing search expression on position {0}", position), e);
32 unexpectedToken = null;
33 }
34
35 public ParseError(String message) {
36 super(message);
37 unexpectedToken = null;
38 }
39
40 public Token getUnexpectedToken() {
41 return unexpectedToken;
42 }
43
44 public static ParseError unexpectedChar(char expected, char found, int position) {
45 return new ParseError(tr("Unexpected char on {0}. Expected {1} found {2}", position, expected, found));
46 }
47}
Note: See TracBrowser for help on using the repository browser.