It is an interesting idea, but BXMLSerializer isn't the only client of these
methods. Also, I tried to add enum support to BXMLSerializer at one point but
couldn't get it to work (if I recall correctly, I wasn't able to use reflection
to dynamically create enums of the appropriate type).
On Sep 4, 2010, at 7:09 AM, Noel Grandin wrote:
> Hi
>
> I note that we have lots of methods of the form
>
> public void setFoo(String s) {
> .. decode s and call setFoo(FooEnum)
> }
> public void setFoo(FooEnum e) {
> }
>
> And most of the time, the decoding process is identical for all of the
> methods that take a given argument type.
>
> I suggest that we teach BXMLSerialiser to look for methods of the form
>
> public String bxmlFromString(T arg)
>
> on the destination object, which it will use to decode the argument
> from a string, and then call the real setter.
>
> That should allow us to remove virtually all of our extra setFoo()
> methods into an appropriate superclass (like Component).
>
> -- Noel