1 package de.fhdw.wtf.common.token;
2
3
4
5
6
7 public final class InvalidToken extends MultiCharToken {
8
9
10
11
12 private static final long serialVersionUID = -8125327670667747456L;
13
14
15
16
17
18
19
20
21
22 private InvalidToken(final String invalidString, final Position position) {
23 super(invalidString, position);
24 }
25
26
27
28
29
30
31
32
33
34
35 public static InvalidToken create(final char invalidChar, final Position position) {
36 return new InvalidToken(Character.toString(invalidChar), position);
37 }
38
39
40
41
42
43
44
45
46
47
48 public static InvalidToken create(final String invalidString, final Position position) {
49 return new InvalidToken(invalidString, position);
50 }
51
52 @Override
53 public boolean isInvalidToken() {
54 return true;
55 }
56
57
58
59
60
61
62 public String getInvalidString() {
63 return this.getTokenString();
64 }
65
66 @Override
67 protected boolean equalsTemplate(final Token t) {
68 if (t.isInvalidToken()) {
69 final InvalidToken i = (InvalidToken) t;
70 return i.getInvalidString().equals(this.getInvalidString());
71 }
72 return false;
73 }
74
75 @Override
76 protected int hashCodeTemplate() {
77 return this.getInvalidString().hashCode();
78 }
79
80 @Override
81 public boolean equals(final Object o) {
82 if (o instanceof InvalidToken) {
83 return super.equals(o);
84 }
85 return false;
86 }
87
88 @Override
89 public int hashCode() {
90 return super.hashCode();
91 }
92 }