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

Last change on this file since 7005 was 4546, checked in by jttt, 12 years ago

Extend name templates with context switch - possibility to use tags of referenced primitive when constructing primitive name

File size: 1.5 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.tools.template_engine.Tokenizer.Token;
7import org.openstreetmap.josm.tools.template_engine.Tokenizer.TokenType;
8
9public class ParseError extends Exception {
10
11 private final Token unexpectedToken;
12
13 public ParseError(Token unexpectedToken) {
14 super(tr("Unexpected token ({0}) on position {1}", unexpectedToken.getType(), unexpectedToken.getPosition()));
15 this.unexpectedToken = unexpectedToken;
16 }
17
18 public ParseError(Token unexpectedToken, TokenType expected) {
19 super(tr("Unexpected token on position {0}. Expected {1}, found {2}", unexpectedToken.getPosition(), expected, unexpectedToken.getType()));
20 this.unexpectedToken = unexpectedToken;
21 }
22
23 public ParseError(int position, org.openstreetmap.josm.actions.search.SearchCompiler.ParseError e) {
24 super(tr("Error while parsing search expression on position {0}", position), e);
25 unexpectedToken = null;
26 }
27
28 public ParseError(String message) {
29 super(message);
30 unexpectedToken = null;
31 }
32
33 public Token getUnexpectedToken() {
34 return unexpectedToken;
35 }
36
37 public static ParseError unexpectedChar(char expected, char found, int position) {
38 return new ParseError(tr("Unexpected char on {0}. Expected {1} found {2}", position, expected, found));
39 }
40}
Note: See TracBrowser for help on using the repository browser.