View Javadoc
1   package de.fhdw.wtf.common.ast;
2   
3   import de.fhdw.wtf.common.ast.visitor.OperationModifierVisitor;
4   import de.fhdw.wtf.common.ast.visitor.OperationModifierVisitorReturn;
5   import de.fhdw.wtf.common.token.Token;
6   
7   /**
8    * A concrete {@link OperationModifier}. A Operation with this modifier will generated as an abstract operation.
9    */
10  public final class OperationModifierAbstract extends OperationModifier {
11  	
12  	/**
13  	 * generated.
14  	 */
15  	private static final long serialVersionUID = 6172586972454009907L;
16  	
17  	/**
18  	 * Constant to define hashCode().
19  	 */
20  	private static final int HASHCODE_CONSTANT = 248932489;
21  	
22  	/**
23  	 * Constructor of {@link OperationModifierAbstract}.
24  	 * 
25  	 * @param firstToken
26  	 *            firstToken
27  	 * @param lastToken
28  	 *            lastToken
29  	 */
30  	private OperationModifierAbstract(final Token firstToken, final Token lastToken) {
31  		super(firstToken, lastToken);
32  	}
33  	
34  	/**
35  	 * Creates a {@link OperationModifierAbstract}-Object.
36  	 * 
37  	 * @param firstToken
38  	 *            firstToken
39  	 * @param lastToken
40  	 *            lastToken
41  	 * @return The OperationModifierAbstract-Object
42  	 */
43  	public static OperationModifierAbstract create(final Token firstToken, final Token lastToken) {
44  		return new OperationModifierAbstract(firstToken, lastToken);
45  	}
46  	
47  	/**
48  	 * Creates a {@link OperationModifierAbstract}-Object.
49  	 * 
50  	 * @param firstToken
51  	 *            firstToken
52  	 * @return The OperationModifierAbstract-Object
53  	 */
54  	public static OperationModifierAbstract create(final Token firstToken) {
55  		return new OperationModifierAbstract(firstToken, null);
56  	}
57  	
58  	@Override
59  	public String toString() {
60  		return de.fhdw.wtf.common.constants.parser.AstDescriptionConstants.MODIFIER_ABSTRACT;
61  	}
62  	
63  	@Override
64  	public boolean equals(final Object o) {
65  		return o instanceof OperationModifierAbstract;
66  	}
67  	
68  	@Override
69  	public int hashCode() {
70  		return HASHCODE_CONSTANT;
71  	}
72  	
73  	@Override
74  	public boolean accept(final OperationModifierVisitor visitor) {
75  		return visitor.handle(this);
76  	}
77  	
78  	@Override
79  	public <X> X accept(final OperationModifierVisitorReturn<X> visitor) {
80  		return visitor.handle(this);
81  	}
82  	
83  }