commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adrian Crum <adrian.c...@sandglass-software.com>
Subject Re: [convert] API Discussion...
Date Fri, 04 Nov 2011 11:20:07 GMT
It's a lot more dynamic than that. The factory is "smart" - it creates 
and registers converters on-the-fly as it is used.

-Adrian

On 11/4/2011 11:17 AM, James Carman wrote:
> I would think that the source and target would be a part of the
> registration process and not a member of each individual converter
> On Nov 4, 2011 5:55 AM, "Adrian Crum"<adrian.crum@sandglass-software.com>
> wrote:
>
>> The source and target classes are used by the Converter.canConvert method.
>> The Converter.canConvert method is used by the Converter factory to find
>> the correct converter. The reason parameterized types are not used in this
>> scenario is so you can create converters that handle entire class
>> hierarchies. If you can think of a way to replace the Class references with
>> parameters, that would be great. Submit a patch and I will look it over.
>>
>> You could submit a patch for your partially-completed ConverterChain class
>> and maybe someone else will complete it.
>>
>> -Adrian
>>
>>
>> On 11/4/2011 2:19 AM, James Carman wrote:
>>
>>> I was taking a look at the [convert] component because I have done
>>> some work lately on some handy conversion classes.  I'm struggling to
>>> understand why you'd need the getSourceClass() and getTargetClass()
>>> methods if you're using generics.
>>>
>>>
>>> Also, I've got a class that looks like this:
>>>
>>> public class ConverterChain<S,T>   implements Converter<S,T>
>>> {
>>>    public static<S>   ConverterChain<S,S>   from(Class<S> 
 sourceType);
>>>    public<N>   ConverterChain<S,N>   append(Converter<T,N>
  converter);
>>>    ...
>>> }
>>>
>>> I'd like to contribute it, but in my library, I don't have all of
>>> those references to the class objects (source/target).  I might check
>>> it in without the source/target stuff implemented.
>>>
>>> ------------------------------**------------------------------**---------
>>> To unsubscribe, e-mail: dev-unsubscribe@commons.**apache.org<dev-unsubscribe@commons.apache.org>
>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>
>>>
>> ------------------------------**------------------------------**---------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.**apache.org<dev-unsubscribe@commons.apache.org>
>> For additional commands, e-mail: dev-help@commons.apache.org
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message