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