Here is what I am planning to do to fix issue 6068

http://code.google.com/p/google-web-toolkit/issues/detail?id=6068

1. Add to BeanMethod.java (package
com.google.web.bindery.autobean.vm.impl;) an TO_ARRAY value

2. Add to JBeanMethod.java
(com.google.web.bindery.autobean.gwt.rebind.model;) an TO_ARRAY value

3. in AutoBeanFactoryGenerator#writeShim (package
com.google.web.bindery.autobean.gwt.rebind;) handle the TO_ARRAY case
by checking the:

a. if the type is assignable to Collection<?>
b. Determine if toArray has one of two supported method signatures in
Collection<?>
c. Generate code that assigns each element of the newly created array
by wrapping it first

4. Add a unit test to check for unfrozen beans.

a. Get a collection of AutoBeans
b. assert they are frozen
c. Initialize an ArrayList using this other collection
d. Assert the objects stored the second ArrayList are unfrozen


Open Questions:

1. Should I try to handle immutable collections, i.e.,
Collections.unmodifiable* or guava's Immutable*?

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to