Skip to contentMethod: equals(Object)
      1: package model.definition;
2: 
3: import model.Position;
4: 
5: /**
6:  * VariableDefinitionArray extends VariableDefinition and represents an ArrayVariable.
7:  * 
8:  * @author @author HFW410RA - Philipp Rammos
9:  * 
10:  */
11: public class VariableDefinitionArray extends AbstractVariableDefinition {
12:         /**
13:          * Reference to the "parent"-Definition.
14:          */
15:         private final AbstractVariableDefinition variableN;
16: 
17:         /**
18:          * Constructor, just sets the fields. No side effects.
19:          * 
20:          * @param name
21:          *            The name to set.
22:          * @param type
23:          *            The type to set.
24:          * @param isOptional
25:          *            Represents if an definition is optional.
26:          * @param isReallyOptional
27:          *            A parameter showing the ++ in arrays
28:          * @param defaultValue
29:          *            The default value to set.
30:          * @param reference
31:          *            Represents if a definition has an opt or not.
32:          * @param variableN
33:          *            Reference to the "parent"-definition
34:          * @param position
35:          *            the position to set.
36:          */
37:         public VariableDefinitionArray(final String name, final model.type.AbstractVariableType type,
38:                         final boolean isOptional, final boolean isReallyOptional,
39:                         final DefaultValue defaultValue, final VariableOptReference reference,
40:                         final AbstractVariableDefinition variableN, final Position position) {
41:                 super(name, type, isOptional, isReallyOptional, defaultValue, reference, position);
42:                 this.variableN = variableN;
43:         }
44: 
45:         @Override
46:         public boolean equals(final Object obj) {
47:•                return obj instanceof VariableDefinitionArray
48:•                                && ((VariableDefinitionArray) obj).getName().equals(this.getName())
49:•                                && ((VariableDefinitionArray) obj).getReference().equals(this.getReference())
50:•                                && ((VariableDefinitionArray) obj).getVariableN().equals(this.getVariableN())
51:•                                && ((VariableDefinitionArray) obj).getType().equals(this.getType())
52:•                                && ((VariableDefinitionArray) obj).getDefaultValue().equals(
53:                                                 this.getDefaultValue())
54:•                                && ((VariableDefinitionArray) obj).getPosition().equals(this.getPosition())
55:•                                && ((VariableDefinitionArray) obj).getContext().equals(this.getContext());
56:         }
57: 
58:         @Override
59:         public int hashCode() {
60:                 return this.getName().hashCode() + this.getReference().hashCode()
61:                                 + this.getVariableN().hashCode() + this.getType().hashCode()
62:                                 + this.getDefaultValue().hashCode() + this.getPosition().hashCode()
63:                                 + this.getContext().hashCode();
64:         }
65: 
66:         /**
67:          * Returns the field variableN. No side effects.
68:          * 
69:          * @return this.variableN
70:          */
71:         public AbstractVariableDefinition getVariableN() {
72:                 return this.variableN;
73:         }
74: 
75:         @Override
76:         public String print() {
77:                 return this.getName() + basic.PrinterConstants.TABSYMBOL + this.getReference().toString()
78:                                 + basic.PrinterConstants.TABSYMBOL + this.getVariableN().getName()
79:                                 + basic.PrinterConstants.TABSYMBOL + this.getType().getRepString()
80:                                 + this.getDefaultValue().toString();
81:         }
82: 
83: }