1 package de.fhdw.wtf.common.ast;
2
3 import de.fhdw.wtf.common.ast.visitor.AttributModifierVisitor;
4 import de.fhdw.wtf.common.ast.visitor.AttributeModifierVisitorReturn;
5 import de.fhdw.wtf.common.ast.visitor.AttributeModifierVisitorReturnException;
6 import de.fhdw.wtf.common.token.IdentifierToken;
7 import de.fhdw.wtf.common.token.Token;
8
9
10
11
12 public final class AttributeModifierSymmetric extends AttributeModifier {
13
14
15
16
17 private static final long serialVersionUID = -5971453819738161098L;
18
19
20
21
22 private static final int HASHCODE_CONSTANT = 2932098;
23
24 private final IdentifierToken identifierToken;
25
26 public IdentifierToken getIdentifierToken() {
27 return this.identifierToken;
28 }
29
30
31
32
33
34
35
36
37
38
39
40 private AttributeModifierSymmetric(final Token firstToken,
41 final IdentifierToken identifierToken,
42 final Token lastToken) {
43 super(firstToken, lastToken);
44 this.identifierToken = identifierToken;
45 }
46
47
48
49
50
51
52
53
54
55
56
57
58 public static AttributeModifierSymmetric create(final Token firstToken,
59 final IdentifierToken identifierToken,
60 final Token lastToken) {
61 return new AttributeModifierSymmetric(firstToken, identifierToken, lastToken);
62 }
63
64 @Override
65 public boolean accept(final AttributModifierVisitor visitor) {
66 return visitor.handle(this);
67 }
68
69 @Override
70 public <X> X accept(final AttributeModifierVisitorReturn<X> visitor) {
71 return visitor.handle(this);
72 }
73
74 @Override
75 public <X, Y extends Exception> X accept(final AttributeModifierVisitorReturnException<X, Y> visitor) throws Y {
76 return visitor.handle(this);
77 }
78
79 @Override
80 public boolean equals(final Object o) {
81 return o instanceof AttributeModifierSymmetric;
82 }
83
84 @Override
85 public int hashCode() {
86 return HASHCODE_CONSTANT;
87 }
88
89 }