Details
-
Type: Wish
-
Status: Closed
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 1.3
-
Component/s: Converters
-
Labels:None
Description
Currently the JavaBeanConverter uses reflection. Maybe it's better to use bean introspection. The attached patch changes BeanProvider, so that it uses bean introspection.
Maybe it's better to add a setBeanProvider info to the JavaBeanConverter in order to support other (custom) BeanProviders.
Issue Links
- is superceded by
-
XSTR-280 omitField() and aliasField() does not get taken into account by SerializableConverter
Here's an alternate approach in case you are interested. We save the types, because, for example, byte or char types will not be handle correctly if the type is not encoded in the file. It also only writes changed properties and uses the current class loader to get the beaninfo (should probably default to Introspection if the beaninfo does not exist, etc. etc. etc.).
There are some other tweaks, like not saving a property if it is hidden and expert, not saving read-only properties, etc. Also has mapping of class names, so that if you move a bean from one package to another, or just rename it, you can still read the file (I think that this duplicates a feature that is already in XStream).
We've been using this for close to 2 years now. It saves and restores our 200+ javabeans (http://www.ergotech.com) and most of the javabean editor. That is, we treat our screens and similar as a JavaBeans.