Ich habe eine Hilfsklasse, die komplett wegserialisiert werden muss. In dieser Klasse stecken auch Objekte, die erst durch eine Wrapperklasse serialisierbar werden und daher händisch in den Stream gepackt werden müssen.
Im Moment mach ich es damit, dass ich 'writeObject(...)' überschreibe und jedes Objekt zu Fuss serialisiere - was eigentlich nicht nötig wäre weil nur ein kleiner Teil der Variablen einen Wrapper benötigen.
Gibt es irgendeinen Weg zu sagen "serialisiere selber alles ausser 'transient' weg und dann komm ich mit meinen manuellen Sachen?
Die Hilfsklasse sieht zZzt. so aus (gekürzt), ImageData kommt aus dem SWT:
super.writeObject(s) gibt es ja leider nicht :autsch:
Bernd
Im Moment mach ich es damit, dass ich 'writeObject(...)' überschreibe und jedes Objekt zu Fuss serialisiere - was eigentlich nicht nötig wäre weil nur ein kleiner Teil der Variablen einen Wrapper benötigen.
Gibt es irgendeinen Weg zu sagen "serialisiere selber alles ausser 'transient' weg und dann komm ich mit meinen manuellen Sachen?
Die Hilfsklasse sieht zZzt. so aus (gekürzt), ImageData kommt aus dem SWT:
Code:
public class ImageCacheItem implements Serializable
public String strOriginalFile = null;
//
public transient ImageData imgdOriginal = null;
private synchronized void writeObject(ObjectOutputStream s) throws IOException {
s.writeUTF(strOriginalFile);
//
s.writeObject(new SerializableImageData(imgdOriginal));
}
private synchronized void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException {
strOriginalFile = s.readUTF();
//
imgdOriginal = ((SerializableImageData) s.readObject()).deserialize();
}
}
super.writeObject(s) gibt es ja leider nicht :autsch:
Bernd