Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: DatenDuck am 03.01.08 - 16:03:56
-
Hallo Forum,
frohes neues Jahr, mal so vorweg! ;)
Und nun gleich zur Sache:
Gibt es in LS eine Möglichkeit ein komplexes, eigenes Objekt zu klonen anstatt zu referenzieren?
Vielen Dank schon mal für Eure Hilfe!
Bis dann,
-Moritz
-
Hi Moritz
Naja, klingt gemein. Aber wenn das ein eigenes komplexes Objekt ist wirst Du wohl auch die Clone Funktion selbst schreiben müssen. Denn die Logik kennt ja nur der Programmierer und kann komplexer werden.
Gruss
Remo
-
Allgemeine Clone Methoden sind eh problematisch.
Wie tief soll der Clone gehen?
Die meisten Objekte die sich lohnen zu clonen, sind ja selbst Objekt-graphen, d.h. besitzen Referenzen auf andere Objekte.
Wenn du Notes Document clonest, werden dann die Items auch gecloned, oder bleiben sie Referenzen. Wenn es Referenzen bleiben, ist es problematisch, weil dann die Items von 2 Dokumenten auf die gleichen Items referenzieren.
In Java wird btw. die clone Methode von java.lang.Object kaum benutzt.
Aber z.B. für Notes Dokument kannst du recht einfach eine eigene Clone-Funktion implementieren:
document.getItems() (oder so ähnlich) gibt eine Liste aller Felder eines Dokuments zurück. Die musst du durchiterieren und in das neue Dokument kopieren.
Ausser für NotesDocument wüsste ich nicht, wo clonen überhaupt Sinn machen könnte.
-
Guten Morgen und danke für die Antworten.
Klonen wollte ich gerne ein Objekt meiner selbstgebauten Klasse. In den Eigenschaften sind "normale" Dinge wie Strings und arrays usw.. Wenn ich jetzt einfach Set zweitesObjekt = erstesObjekt mache, dann beeinflussen Änderungen im 2. Objekt auch das erste, von daher hatte ich mir erhofft, dass man einfach den ganzen Speicherbereich kopieren kann und dann 2 unabhängige Objekte bearbeiten kann...
Bis denn,
-Moritz