C'è una classe che desidero serializzare e implementa Serializable, ma uno degli oggetti che contiene non implementa Serializable.In java, è possibile aggiungere l'interfaccia Serializable alla classe che non ce l'ha in fase di runtime?
C'è un modo per modificare la classe in fase di esecuzione per implementare l'interfaccia Serializable in modo che possa serializzarlo? Non posso cambiarlo in fase di compilazione perché è una libreria di terze parti.
Forse dovrei usare una sorta di scrittore di bytecode o qualcosa del genere?
MODIFICA: Sia la classe contenente che la classe contenuta si trovano nella libreria di terze parti, quindi non penso di poter contrassegnare qualcosa come transitorio. La classe contenente è contrassegnata come serializzabile, ma contiene un oggetto che non lo è.
Sto bene scrivendo un metodo di serializzazione personalizzato per la classe, non sono sicuro di come lo farei, dovrei usare la reflection per ottenere i valori delle variabili private?
Utilizzare l'interfaccia Externalizable http://java.sun.com/j2se/1.3/docs/api/java/io/Externalizable.html –
La classe contenente è anche nella libreria di terze parti, quindi non penso di poter aggiungere quei metodi ad esso. – Kyle
Quindi immagino sia ora di imparare ASM. – bmargulies