Skip to contentMethod: toString()
      1: package auftraege.auftragsBildungsParameter.dokumentenKlassenVariablen;
2: 
3: import auftraege.auftragsBildungsParameter.abstraction.DokumentenklassenVariable;
4: import auftraege.auftragsBildungsParameter.abstraction.DokumentenklassenVariablenVisitor;
5: import util.Constants;
6: 
7: /**
8:  * Eine unbekannte Variable beinhaltet eine Bezeichnung und einen Wert. Sie dient der Unterscheidung von Variablen,
9:  * welche dem System als slches nicht bekannt sind, jedoch vom Nutzer eingegeben wurden.
10:  * Mengenwertig können unbekannteVariablen mit der klasse {@link UnbekannteVariablen} gekapselt werden.
11:  */
12: public class UnbekannteVariable implements DokumentenklassenVariable {
13:     private final String bezeichung;
14:     private final String wert;
15: 
16:     /**
17:      * {@link UnbekannteVariable}.
18:      *
19:      * @param bezeichung Bezeichner der unbekannten Variable.
20:      * @param wert Wert der unbekannten Variable.
21:      */
22:     public UnbekannteVariable(final String bezeichung, final String wert) {
23:         this.bezeichung = bezeichung;
24:         this.wert = wert;
25:         System.out.println("eine unbekannte Variable wurde kreiert: [" + bezeichung + "," + wert + "]");
26:     }
27: 
28:     @Override
29:     public <T> T accept(final DokumentenklassenVariablenVisitor<T> v) {
30:         return v.handle(this);
31:     }
32: 
33:     @Override
34:     public String toString() {
35:         return "UnbekannteVariable{"
36:                 + "bezeichung='" + this.bezeichung + '\''
37:                 + ", wert='" + this.wert + '\''
38:                 + '}';
39:     }
40: 
41:     @Override
42:     public boolean equals(final Object o) {
43:         if (this == o) {
44:             return true;
45:         }
46:         if (!(o instanceof UnbekannteVariable)) {
47:             return false;
48:         }
49: 
50:         final UnbekannteVariable that = (UnbekannteVariable) o;
51: 
52:         if (!this.bezeichung.equals(that.bezeichung)) {
53:             return false;
54:         }
55:         return this.wert.equals(that.wert);
56:     }
57: 
58:     @Override
59:     public int hashCode() {
60:         int result = this.bezeichung.hashCode();
61:         result = Constants.EINUNDDREISSIG * result + this.wert.hashCode();
62:         return result;
63:     }
64: }