But using a stack or a map doesn't make a difference from the outside world (looking at getConverter(Class))
Or are you saying that constantly that stack is altered? And converters are pushed and popped?
What usecase would that be?
johan
On 5/18/06, Matej Knopp <[EMAIL PROTECTED]> wrote:
So now he have two possible alternatives.
One is Igor's stack based, other one yours using ISuplyConverters.
Both seem fine to me. The ISupplyConverters alternative is more
flexible, question is though, whether more flexibility is what we need
here.
So maybe there should be vote about it? Or maybe to merge it (implement
ISupplyConverters using a stack)?
-Matej
Johan Compagner wrote:
> yeah the compound was just nothing more then getting a type converter..
> It was more or less a hack in the interface (in my eyes) to get around
> the problem for getting the right one.
> And if you want "compound" that is still possible because that is
> ISupplyConveter
>
> johan
>
>
>
> On 5/18/06, *Matej Knopp* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:
>
> I kind of like this one. Except that it doesn't allow
> CompoundConverters. But then again, with concept like this there is no
> need for compound converters.
>
> -Matej
>
> Igor Vaynberg wrote:
> > yes i know it was never a stack, i propose to make it a stack
> >
> > i was talking about the usecase of replacing the default
> > converterfactory to globally install your own converter.
> >
> > youd have to do something like this:
> >
> >
> > newConver(Class c) {
> > if (c==myclass) {
> > return new MyConverter();
> > else return defaultFactory.newConverter(c);
> > }
> >
> > instead with a stack and supports(Class) you just do
> > return new DefaultConverterFactory().add(new MyConvereter()); where
> > add() does the push onto the stack
> >
> > -Igor
> >
> > On 5/17/06, *Johan Compagner* <[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>
> > <mailto: [EMAIL PROTECTED] <mailto: [EMAIL PROTECTED]>>> wrote:
> >
> > everybody used it to replace stuff.
> > Because everybody now needed to (or did) override the component
> > getConveter()
> > and it was never a stack by the way, it was always a map (but
> in the
> > end the result is the same ofcourse)
> > But that doesn't matter and that is still possible because we
> have
> > still the factory to create youre own ISupplyConveter
> >
> > So you still can create create a Convereter like before and call
> > add(Class,Converter)
> >
> > But maybe you want a converter that has some kind of session
> state
> > (by default now none of the converters have that anymore)
> >
> > johan
> >
> >
> >
> >
> > On 5/17/06, * Igor Vaynberg* <[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>
> > <mailto:[EMAIL PROTECTED]
> <mailto: [EMAIL PROTECTED]>>> wrote:
> >
> > supports wasnt to replace the type parameters, it was to ease
> > with registration
> >
> > instead of doing something like
> >
> > Map<Class,IConverter> registry;
> > registry.put(String.class, new StringConverter());
> > registry.get (String.class);
> >
> > you have
> >
> > Stack<IConverter> registry;
> >
> > stack.push(new StringConverter());
> > and you search for the converter by iterating over the stack
> >
> > this way if a user wants to override any of the default
> > converters they just push it onto the stack and its
> > supports(Class) is called before any of our default ones
> since
> > they are lower on the stack.
> >
> > so instead of overriding+checking+delegating like you
> have to do
> > now if youw ant to provide your own factory you simply do
> return
> > super.getDefaultFactory().add(new MyStringConverter());
> >
> > -Igor
> >
> >
> > On 5/17/06, *Eelco Hillenius* < [EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>
> > <mailto: [EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>>> wrote:
> >
> > I'm still a bit worried about the naming etc.
> >
> > In my opinion, the thing we want to do is to do
> input-output
> > conversion for models. Models could do this
> themselves, but
> > pulling
> > the conversion out makes things way more flexible.
> So... as
> > this is
> > what we are doing, I would propose to choose a name that
> > reflects
> > this, for example:
> >
> > IModelConverter {
> >
> > String toOutput(Object modelValue);
> >
> > Object toInput(String requestValue);
> >
> > boolean supports(Class type);
> > }
> >
> > I'm not sure about the type paramter vs supports.
> >
> > Eelco
> >
> >
> > On 5/17/06, Igor Vaynberg < [EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>
> > <mailto: [EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>>> wrote:
> > > we might also consider adding
> IConverter.supports (Class)
> > to make
> > > registration easier.
> > >
> > > -Igor
> > >
> > >
> > >
> > > On 5/14/06, Johan Compagner < [EMAIL PROTECTED]
> <mailto: [EMAIL PROTECTED]>
> > <mailto:[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>>> wrote:
> > > >
> > > > Hi,
> > > >
> > > > first currently we have IConverter and
> ITypeConverter ,
> > i want to combine
> > > those 2 to be one interface
> > > > And then a converter must be easy to make but
> also to
> > understand.
> > > >
> > > > So i can do this:
> > > >
> > > > IConverter.convertToObject (String, Class)
> > > > IConverter.convertToString(Object)
> > > >
> > > > Then writing a DateConverter is pretty simple,
> you have one
> > > SimpleDateFormat (or more per locale)
> > > > and then in toObject you do parse and in
> toString you do
> > format
> > > >
> > > > The thing is we loose a bit of the more
> "generic" nature
> > we have now
> > > > because in the current setup we could do:
> > > >
> > > > conveter.convert(new Double(10), Integer.class) to
> > convert from a double
> > > to a integer.
> > > > Do we need this? We could make:
> > > >
> > > > IConverter.convertObject (Object, Class) instead of
> > > IConverter.convertToObject(String, Class)
> > > > besides to convertToString.
> > > >
> > > > But that would complicate converters again.
> > > >
> > > > That Class param can be ignored by a Converter
> impl (or
> > it could check if
> > > it was the type for which this converter is build.)
> > > > But having that class param there then it is
> possible to
> > make a compound
> > > converter and only have one interface
> > > > so that you can much easier make youre converter
> for a
> > specific textfield.
> > > >
> > > >
> > > > johan
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
> > -------------------------------------------------------
> > Using Tomcat but need to do more? Need to support web
> > services, security?
> > Get stuff done quickly with pre-integrated technology to
> > make your job easier
> > Download IBM WebSphere Application Server v.1.0.1
> based on
> > Apache Geronimo
> >
> http://sel.as-us.falkag.net/sel?cmdlnk&kid0709&bid&3057&dat1642 <http://sel.as-us.falkag.net/sel?cmdlnk&kid0709&bid&3057&dat1642>
> > <
> http://sel.as-us.falkag.net/sel?cmdlnk&kid%120709&bid&3057&dat%121642
> < http://sel.as-us.falkag.net/sel?cmdlnk&kid%120709&bid&3057&dat%121642>>
> > _______________________________________________
> > Wicket-develop mailing list
> > Wicket-develop@lists.sourceforge.net
> <mailto:Wicket-develop@lists.sourceforge.net >
> > <mailto: Wicket-develop@lists.sourceforge.net
> <mailto: Wicket-develop@lists.sourceforge.net>>
> >
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
> >
> >
> >
> >
>
>
>
> -------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services,
> security?
> Get stuff done quickly with pre-integrated technology to make your
> job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache
> Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> < http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642>
> _______________________________________________
> Wicket-develop mailing list
> Wicket-develop@lists.sourceforge.net
> <mailto:Wicket-develop@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/wicket-develop
>
>
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Wicket-develop mailing list
Wicket-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-develop