Sven Hütten
2003-09-18 12:21:22 UTC
Hallo Leute, ich habe ein Objekt, welches von mehreren Stellen aus
referenziert wird.
Nun möchte ich eine Kopie des Objektes erzeugen (mit clone()) und alle
Referenzen sollen auf die Kopie umgelenkt werden.
Warum??
Ich habe ein Bean-Objekt mit ca. 70 Datenmember. Nun folgt eine lange Reihe
von Verarbeitungsschritten, wo die Member verändert werden können (z.B.
mehrere Bildschirmmasken). Im Objekt werden nun alle Datenmember
nacheinander gesetzt (nach jeder Bildschirmmaske) und zum Schluss wird
gespeichert bzw. abgebrochen, wenn der Benutzer es möchte.
Bricht der Benutzer ab, so sind trotzdem alle Member noch gesetzt. Deshalb
wollte ich ein geklontes Objekt in die Verarbeitung (Masken) geben, d.h. im
Abbruchfall habe ich noch mein originales Objekt. Im Erfolgsfall (also
Speicherung) sollen nun alle Referenzen, die auf das originale Objekt
zeigen, nun auf das geclonte Objekt zeigen. Oder gibt es noch eine
Möglichkeit, das alle Member im originalen Objekt die Werte der Kopie
annehmen? Sollte wohl nicht so sein, denn ich habe natürlich alle Member
private deklariert. Oder gibt es doch noch eine Möglichkeit ???
(Ich wollte schon über das Reflection API alle set-methoden des originalen
Objekt mit den get-Methoden der Kopie invoken. Ich halte das aber für sehr
unsauber...)
Hat jemand eine Idee wie ich mein problem lösen könnte?? Am liebsten wäre
mir eine Umlenkung aller Referenzen...
Viele Grüße an alle Java-Freaks...
Sveni
referenziert wird.
Nun möchte ich eine Kopie des Objektes erzeugen (mit clone()) und alle
Referenzen sollen auf die Kopie umgelenkt werden.
Warum??
Ich habe ein Bean-Objekt mit ca. 70 Datenmember. Nun folgt eine lange Reihe
von Verarbeitungsschritten, wo die Member verändert werden können (z.B.
mehrere Bildschirmmasken). Im Objekt werden nun alle Datenmember
nacheinander gesetzt (nach jeder Bildschirmmaske) und zum Schluss wird
gespeichert bzw. abgebrochen, wenn der Benutzer es möchte.
Bricht der Benutzer ab, so sind trotzdem alle Member noch gesetzt. Deshalb
wollte ich ein geklontes Objekt in die Verarbeitung (Masken) geben, d.h. im
Abbruchfall habe ich noch mein originales Objekt. Im Erfolgsfall (also
Speicherung) sollen nun alle Referenzen, die auf das originale Objekt
zeigen, nun auf das geclonte Objekt zeigen. Oder gibt es noch eine
Möglichkeit, das alle Member im originalen Objekt die Werte der Kopie
annehmen? Sollte wohl nicht so sein, denn ich habe natürlich alle Member
private deklariert. Oder gibt es doch noch eine Möglichkeit ???
(Ich wollte schon über das Reflection API alle set-methoden des originalen
Objekt mit den get-Methoden der Kopie invoken. Ich halte das aber für sehr
unsauber...)
Hat jemand eine Idee wie ich mein problem lösen könnte?? Am liebsten wäre
mir eine Umlenkung aller Referenzen...
Viele Grüße an alle Java-Freaks...
Sveni