Skip to content

Method: equals(Object)

1: package pruefskript.parser.nodes;
2:
3: import scanner.ScannerConstants;
4:
5: /**
6: * AbstractBinaryOperationNode.
7: *
8: * @author group B5
9: *
10: */
11: public abstract class AbstractBinaryOperationNode extends AbstractNode {
12:         /**
13:          * final AbstractNode Variablen operand1, operand2.
14:          */
15:         private final AbstractNode operand1, operand2;
16:
17:         /**
18:          *
19:          * @param operand1
20:          * AbstractNode
21:          * @param operand2
22:          * AbstractNode
23:          */
24:         public AbstractBinaryOperationNode(final AbstractNode operand1, final AbstractNode operand2) {
25:                 super();
26:                 this.operand1 = operand1;
27:                 this.operand2 = operand2;
28:         }
29:
30:         /**
31:          * Getter fuer den operand1
32:          *
33:          * @return operand1
34:          */
35:         protected AbstractNode getOperand1() {
36:                 return this.operand1;
37:         }
38:
39:         /**
40:          * Getter fuer den operand2
41:          *
42:          * @return operand2
43:          */
44:         protected AbstractNode getOperand2() {
45:                 return this.operand2;
46:         }
47:
48:         /**
49:          * Equals-Funktion, die prueft, ob das Objekt obj vom Typ AbstractBinaryOperationNode ist, und
50:          * ob von dem Objekt obj Operant 1 mit dem Operant 1 dieser Klasse uebereinstimmt sowie das
51:          * Gleiche fuer Operant 2.
52:          *
53:          * @return true oder false
54:          */
55:         @Override
56:         public boolean equals(final Object obj) {
57:•                return obj instanceof AbstractBinaryOperationNode
58:•                                && ((AbstractBinaryOperationNode) obj).getOperand1().equals(this.getOperand1())
59:•                                && ((AbstractBinaryOperationNode) obj).getOperand2().equals(this.getOperand2());
60:         }
61:
62:         @Override
63:         public int hashCode() {
64:                 return this.getOperand1().hashCode() + this.getOperand2().hashCode();
65:         }
66:
67:         @Override
68:         public String toString() {
69:                 return this.getOperand1().toString() + ScannerConstants.COMMA
70:                                 + this.getOperand2().toString();
71:         }
72:
73: }