In FM3, I propose removing some legacy complexity:
- Remove BeansWrapper, which is the super class of
DefaultObjectWrapper, and add its functionality directly to
DeafultObjectWrapper. That we have this class hierarchy has purely
historical reasons. (Even if FM2, using pure BeansWrapper is
deprecated, and causes lot of pain and confusion because it's still
possible.)
- Remove the following BeansWrapper/DefaultObjectWrapper
settings, because they just exist in FM2 so that you can chose
between FM 2.3.0 compatibility and a better functionality:
- BeansWrapper.simpleMapWrapper (DefaultObjectWrapper ignores it)
- DefaultObjectWrapper.forceLegacyNonListCollections (will be in
effect false)
- DefaultObjectWrapper.iterableSupport (will be in effect true)
PS I know that there's an idea of removing
ObjectWrapper-s/TemplateModel-s altogether, and using a MOP instead,
but that's a fairly brutal change and who knows if it will be
affordable. So while I try not to invest much into
ObjectWrapper-s/TemplateModel-s until we figure that out, I do at
least want to remove stuff that we won't need for sure. And also, baby
steps, easy things first... keep FM3 working all the time.
--
Thanks,
Daniel Dekany