Skip to content

Method: equals(Object)

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: * A concrete {@link AttributeModifier}. An {@link Attribute} with this modifier will be generated with inverse-Getter.
11: */
12: public final class AttributeModifierSymmetric extends AttributeModifier {
13:         
14:         /**
15:          * generated.
16:          */
17:         private static final long serialVersionUID = -5971453819738161098L;
18:         
19:         /**
20:          * Constant to define hashCode().
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:          * Private Constructor of {@link AttributeModifierSymmetric}.
32:          *
33:          * @param firstToken
34:          * firstToken
35:          * @param identifierToken
36:          * identifierToken
37:          * @param lastToken
38:          * lastToken
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:          * Creates a {@link AttributeModifierSymmetric}-Object.
49:          *
50:          * @param firstToken
51:          * firstToken
52:          * @param identifierToken
53:          * identifierToken
54:          * @param lastToken
55:          * lastToken
56:          * @return The AttributeModifierSymmetric-Object
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: }