The java beans code does not itself provide string conversion customization, but it contains quite a lot of similar code, including some string conversion code that is bean specific (ie not changeable based on form and/or locale) in the PropertyEditor interface. What I am working on is a sub-class of PropertyDescriptor that would have a few additional methods with a signature something like:
Method getReadStringMethod(Locale loc) Method getReadStringMethod(Locale loc, String form) Method setWriteStringMethod(Locale loc) Method setWriteStringMethod(Locale loc, String form) and for completeness, I'd like to add display info and verification handling. String getDisplayName(Locale loc, String form) PropertyVerifier getVerifierMethod(Locale loc, String form) where PropertyVerifier is an interface with methods: verify(String value) -returns true if value is a valid value for this property for the given locale/form combination. String[] getEnumeratedValues() - allows pre-verfication by allowing a sub-set of the entire possible set of values. isNullable() -determines if null is allowed Object minValue() -returns the minimum value allowed (might return a Date, or a Number etc, or null if no min) Object maxValue() -returns the maximum value allowed and there would be a BeanVerifier with just the single method: verify(Object bean) that would verify constraints between values I'm still in the process of thinking this out, specifically deciding what return types these methods should have. It is certainly possible to return something better than just Method for all of these (ie something that takes a String instead of an array of objects). Once I've decided on what these should return, I would like to create versions that can lookup the required information from a variety of sources, specifically: 1) One or more configuration files (XML) that configure locale,form info for the entire application 2) Individual configuration files (XML) associated with the particular bean type 3) Individual class files associated with the particular bean type It might be necessary to write a new version of Introspector that would return this extended information, and might have non-static instances of it in order to allow different configuration files to be used for different parts of the application. Bill Wallace Fax: (716) 295-4718 Element K 'the knowledge catalyst' www.elementk.com "Viral V. Tolat" To: "'[EMAIL PROTECTED]'" <tolat@integr <[EMAIL PROTECTED]> al.com> cc: 09/27/01 Subject: RE: Data conversion 05:48 PM Please respond to struts-dev Bill, I've been looking at the JavaBeans API and I don't see where the String conversion can be customized. Maybe you can point me to a class or interface. I've looked throughout the java.beans package. Thanks. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Thursday, September 27, 2001 12:51 PM To: [EMAIL PROTECTED] Subject: Re: Data conversion The to/from string conversion should be done similar to how java beans works, since it can then be used more generally than just the Struts framework. However, it needs some I18N additions which currently aren't available in the java beans work. Bill Wallace Fax: (716) 295-4718 Element K 'the knowledge catalyst' www.elementk.com Viral Tolat <viral.tolat@int To: [EMAIL PROTECTED] egral.com> cc: 09/27/01 03:13 Subject: Data conversion PM Please respond to struts-dev Is there any intent to modify the code to centralize conversion of strings to objects and reverse? Currently, ConvertUtils is used to convert strings to primitive objects, however, toString is used to convert the object to a string. We'd like to integrate in a data conversion framework but to do this cleanly we need a cental place where all data conversion happens. In addition, we'd need to be able to access the request or page context in order to provide custom conversions on a per page basis. We've looked at the transformations extension and the Capco Mapper, however, we don't see how the transformations can be used with html:text tags to provide data conversion from strings to objects since the Tag is not involved at all in this process. Thanks