On Tue, 16 Sep 2008, Qu0ll wrote:
I need to serialize some Java2D objects of classes such as Shape,
GlyphVector and Composite, none of which implements or extends
Serializable. Is it possible somehow? If I can achieve the same thing
where I can reconstruct those objects on the other side of a network
connection without strictly doing serialization then that will be
fine. I thought about extracting the "data" from each object and
serializing that but some of that information is either internal or
not always available.
Any ideas? Perhaps it cannot be done.
Basically, it can't. Sucks, i know.
You can use reflection to get at the fields - even if they're private,
you can call Field.setAccessible(true), and if your SecurityManager
doesn't complain, you can then read them. However, putting that
information back together on the far side is a lot harder: you can write
the field contents in much the same way, but you need to be able to
create instances of the relevant classes first, and i don't know of any
general-purpose way to do that for classes with no default constructor.
tom
own versions that are Serializable.
You might also be able to use JavaBean/XML transport instead.