Affects Version/s: None
Fix Version/s: 1.3
I spent quite some time trying and failing to get the JavaBeanConverter working until I realised that an empty constructor is required and needs to be public. Otherwise things default back to field based serialization. This is not ideal, my domain objects have empty protected constructors which work nicely with Hibernate getter/setter serialization for example.
Java 2 definition on javabeans oblies the public constructor with no args:
Nevertheless its possible to create support for protected or any other no-args constructor, but that would make many objects a JavaBean even tough they are not, for example java.util.ArrayList would seem to be a javabean when it does not have the desired get/set standard that would allow it to be correctly converted. It would be impossible to foresee which classes with no-args constructors are javabeans and which one's aren't.
The next release will allow you to use a JavaBeanConverter with a customized BeanProvider. Simply overwrite the getDefaultConstructor method and you may also return a protected one. However, it will be not implemented by default.
Closing issues before next release.
I think JBC needs two changes to be as useful as field conversion.