Hi Neal,

I found a problem with your customFormatter extension.

Following situation:

You have a text inputfield wich you send through your formatterInterface to
change it to xx-xx-xx.
If you get back  the response the string will be stored as xx-xx-xx into the
database.

Now you send it again through the formatter interface and the formating will
happen again.
So i think we need something to format and deformat the value again.

OK, let's see what we have for formatting values:

   1. You can define a pattern which will be used to format numeric or date
values.
   2. You can define a special formatter class which will be used to format
numeric or date values 
      Only the pattern generated by this class is send to the page and used
for parsing the value back.
      We should deprecate this and remove it in version 2.6
   3. We have your new customFormatter defined as a session bean to
unidirectional format values.
      You also use - according to my suggestion - the formatter interface
and passes the fieldValue, 
      the field and tag into the object array used by the Formatter. 
      Why do you need the the field and the tag inside the formatting? Is it
really neccesary?
   4. At least each value is escaped/unescaped by an special escaper. This
works for escaper defined in
      the config file in the moment. 
      To use them for tag too we must transport the escaper classname
through an request/response cycle
  
   
To format comboboxes some other rules are working:
   1. Transforming of the value list to the output text is done by a special
class which works 
      like the good old c function sprintf(formatString, value1, value2,
...)
      The format is defined by the attribute format
   2. To customize this behaviour you can define your own formatter class
which must implement the formatter 
      interface which is only an abstraction of the PrintfFormat class.


Conclusion:
   The customFormatter interface do not fit the needs of the customFormatter
- Sorry.
   The formatter class of the BaseHandler is'nt need any longer - let's
deprecate it.
   The escaping/unescaping should only work on field/table/default base -
not on tag base. Because escaping for tags is
   only rudimentaer i will remove it.
   We should define a customFormatter interface like this:

   interface
         string format(Field f, string s);
         string parse (Field f, string s);
     
   The classname of the customFormatter should be an attribute of the field
so that we can transport it over the request/response
   cycle and can call the parse function during parsing
   If your really need the tag and the field during format we need some
setters too.
   Pay attention: On the response we do not have the tag - so we can not use
it. So i would suggest not to use it. 
   Every information you is in the field - not in the tag.

OK, lets discuss this stuff!
What do you think?

Cheers,
Henner 
  








-------------------------------------------------------
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
_______________________________________________
DbForms Mailing List

http://www.wap-force.net/dbforms

Reply via email to