Versus simply using polymorphism as we add different types of
values...? We can always add an Object-type value in the future... The
only time you'd want to use an Object value ahead of time is if you
don't control the implementation of getAsObject() and you can possibly
have plug-in implementations that might add support for different kinds
of values in the future... What I mean by this is behavior like ImageIO
where you can plug in new encoder/decoders for new file types -- they
used Object for the reader (normally it's a File or InputStream)
because they had no way of knowing ahead of time where the plugins
would read from.

        I don't think we need this in our case.

Gili

On Wed, 2 Feb 2005 16:53:25 +0100, Maurice Marrink wrote:

>Nice, just one little suggestion:
>Change
>Object getAsObject(ConversionContext ctx, String value)
>To
>Object getAsObject(ConversionContext ctx, Object value)
>
>You will still need a null check for value in your implementation, so
>why not combine that with a little more generic code like
>If(value instanceof String){...}else if(value instanceof
>Object){...}else return null;
>
>Maybe you will never need the Object, but if you do you will be sorry if
>you only got a string to work with.
>
>Just my 2 cents.
>
>Maurice
>
>
>-----Oorspronkelijk bericht-----
>Van: Eelco Hillenius 
>Verzonden: woensdag 2 februari 2005 11:37
>Aan: [email protected]
>Onderwerp: Re: [Wicket-user] is this approach correct?
>
>No, what I meant is that the converters were initially copied (and 
>slightly altered) from the BeanUtils package. As they lacked the 
>possibility of formatting (BeanUtils uses one-way converters only), I 
>added support for formatting whilst not breaking the compatibility with 
>BeanUtils by adding an optional interface for formatting. Now, this was 
>for Baritus/ Maverick. For a large part I copied that into Wicket, as it
>
>was one of the things in Baritus that allways functioned well. However, 
>for Wicket it would be best to have a clearer interface, thus having - 
>just like JSF - converters for both ways.
>
>This is the JSF interface:
>
>public interface Converter
>{
>    Object getAsObject(FacesContext context,
>                       UIComponent component,
>                       String value) throws ConverterException;
>
>    String getAsString(FacesContext context,
>                       UIComponent component,
>                       Object value) throws ConverterException;
>}
>
>Which is tightly coupled to JSF. Furthermore, I think (by doing a quick 
>code scan of MyFaces) that locales are not supported in JSF as well as 
>we support it.
>
>Currently in Wicket, these are the interfaces:
>
>public interface IConverter
>{
>    public Object convert(Object value);
>}
>
>and
>
>public interface IFormatter
>{
>    public String format(Object value, String pattern);
>}
>
>Now, that I have a closer look to it, I think the pattern should be 
>omitted, and the interface should look like:
>
>public interface IConverter
>{
>    Object getAsObject(String value) throws ConversionException;
>
>    String getAsString(Object value) throws ConversionException;
>}
>
>However, I know from experience that use of a pattern can be very 
>convenient, I am have never been very happy with the way localization is
>
>implemented (which is again a legacy issue as I copied that from
>BeanUtils.
>
>There are several ways to tackle this. I think the most elegant - and 
>future safe - option is to introduce a context object, like:
>
>public interface IConverter
>{
>    Object getAsObject(ConversionContext ctx, String value) throws 
>ConversionException;
>
>    String getAsString(ConversionContext ctx, Object value) throws 
>ConversionException;
>}
>
>Where ConversionContext would at least have a reference to the optional 
>locale object to use (note that besides the user's locale, this can be 
>explicitly set in the PropertyModel) and the optional conversion 
>pattern. I think if the API looked like this, the writing of custom 
>converters would be much simpler/ clearer and the lookup process would 
>be drastically simplified and thus more transparent to our framework
>users.
>
>What do you think?
>
>Eelco
>
>
>
>Juergen Donnerstag wrote:
>
>>>So, as that's a legacy thing
>>>now, we could just as well loose the difference.
>>>    
>>>
>>
>>Sorry, it is probably only my english. Our current implementation
>>isn't better nore worse than what JSF (and may be others) offer. And
>>because there are "standard" packages out there to that job, the idea
>>is to move towards this package. Correct?
>>
>>Juergen
>>
>>
>>-------------------------------------------------------
>>This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
>>Tool for open source databases. Create drag-&-drop reports. Save time
>>by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
>>Download a FREE copy at http://www.intelliview.com/go/osdn_nl
>>_______________________________________________
>>Wicket-user mailing list
>>[email protected]
>>https://lists.sourceforge.net/lists/listinfo/wicket-user
>>  
>>
>
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
>Tool for open source databases. Create drag-&-drop reports. Save time
>by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
>Download a FREE copy at http://www.intelliview.com/go/osdn_nl
>_______________________________________________
>Wicket-user mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/wicket-user
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
>Tool for open source databases. Create drag-&-drop reports. Save time
>by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
>Download a FREE copy at http://www.intelliview.com/go/osdn_nl
>_______________________________________________
>Wicket-user mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/wicket-user
>




-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to