Moin! Ich hab momentan das Problem, dass ich beliebige Objekte (verschiedenen Typs) kopieren möchte. Weiteres Problem ist, dass natürlich auch die Referenzen auf andere Objekte mitkopiert werden sollen (deep-copy)...
1. Möglichkeit: alle Objekte implementieren clone() - fällt eigentlich raus, weil ich dann Anforderungen an die Objekte stellen muss, was ich nicht wirklich kann.
2. Objektserialisierung von Java nutzen... dazu müssten aber wiederum die zu kopierenden Objekte serializable implementieren. Wäre natürlich vermutlich die einfachste Möglichkeit.
3. Reflections? großes Fragezeichen - hat das schonmal jemand benutzt um Objekte zu kopieren? Wie sieht das mit dem privaten Zugriff und dem Sicherheitsmanager aus? unter welchen Umständen kann man das dann nicht nutzen?
Jedenfalls finde ich die Vorbedingung einen Sicherheitsmanager zu haben, der dies zulässt durchaus interessanter, als den Usern zu erklären, dass ihre Objekte grundsätzlich serializable oder ne clone-methode haben müssen!
Wie sieht der Zugriff auf Attribute von möglichen Superklassen aus? Wie kann man auf diese zugreifen? Und letztlich die Frage - ist das ganze überhaupt sinnig, d.h. komm ich damit auf nen grünen Zweig oder gibt es Situationen wo das grundsätzlich nicht funktioniert!? Mein bisheriges Beispiel beschränkt sich auf die Kopie eines doch recht einfachen Objekts...
1. Möglichkeit: alle Objekte implementieren clone() - fällt eigentlich raus, weil ich dann Anforderungen an die Objekte stellen muss, was ich nicht wirklich kann.
2. Objektserialisierung von Java nutzen... dazu müssten aber wiederum die zu kopierenden Objekte serializable implementieren. Wäre natürlich vermutlich die einfachste Möglichkeit.
3. Reflections? großes Fragezeichen - hat das schonmal jemand benutzt um Objekte zu kopieren? Wie sieht das mit dem privaten Zugriff und dem Sicherheitsmanager aus? unter welchen Umständen kann man das dann nicht nutzen?
Jedenfalls finde ich die Vorbedingung einen Sicherheitsmanager zu haben, der dies zulässt durchaus interessanter, als den Usern zu erklären, dass ihre Objekte grundsätzlich serializable oder ne clone-methode haben müssen!
Wie sieht der Zugriff auf Attribute von möglichen Superklassen aus? Wie kann man auf diese zugreifen? Und letztlich die Frage - ist das ganze überhaupt sinnig, d.h. komm ich damit auf nen grünen Zweig oder gibt es Situationen wo das grundsätzlich nicht funktioniert!? Mein bisheriges Beispiel beschränkt sich auf die Kopie eines doch recht einfachen Objekts...