This content has been marked as final.
Show 3 replies
-
1. Re: Is this a bug or is it intentional
aguizar Jun 19, 2008 2:14 PM (in response to bentins)I see problems with both the current code and your proposed fix.
The current code fails for the declaration below, because it will try to assign a HashMap to a Hashtable.Hashtable keyCodes;
The proposed fix actually makes things worse because the following declaration is the common case. Class.newInstance() fails for interfaces.Map keyCodes;
The definitive solution should address both scenarios. I'll reopen the issue and add this comment. -
2. Re: Is this a bug or is it intentional
bentins Jun 20, 2008 4:23 AM (in response to bentins)I agree both scanarios should be addressed. Addressing the interface issue is not hard as we can do
type.isInterface()
However this leaves two problems. Both are not common. use cases.
1. Abstract classes which if someone uses it is imposible to get it to work, since it will fail on 'Field.set'.
2. Another problem is when a user uses his own sub interface.
I think the code should address the first two issues and state in the documentation not to use abstract classes or sub interfaces of Collection, Set, List and Map for field mapping. (Maybe add an clear exception message) -
3. Re: Is this a bug or is it intentional
kukeltje Jun 20, 2008 2:28 PM (in response to bentins)look in the jira, I think Alex already has a solution there