I'm now very excited about this change. When I realized that I had all the technology in place to support this, I don't think I fully appreciated how good it was going to be. I mean, how difficult is it to converts objects to strings and back?
This change is primarily about the Direct component, though it affects any other component or service that makes use of service parameters. In the past, those service parameters were an array of *String*. Starting in 2.2, the parameters are an array of *Object*. Tapestry converts the Objects into strings, which are included in the URL. However, the strings can then be converted *back* to their object values. This not only works for Integer, Double, Long, Byte, etc., but for any Serializable object (though the string encoded into the URL can be quite long!). This makes listener methods much simpler, instead of having to figure out how to convert the String into an Object with something like Integer primaryKey = new Integer(parameters[0]); The listener methods can instead assume the objects are the right type: Integer primaryKey = (Integer)parameters[0]; This really works on the "objects, methods and properties" mantra. The downside of this is a few interfaces (IRequestCycle, IEngineService, Gesture, AbstractService) changed in non- backwards compatible ways, so there will be a slight cost in upgrading from 2.1 to 2.2. -- [EMAIL PROTECTED] http://tapestry.sf.net ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Tapestry-developer mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/tapestry-developer