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.c...@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-unsubscr...@commons.apache.org>
For additional commands, e-mail: dev-h...@commons.apache.org


------------------------------**------------------------------**---------
To unsubscribe, e-mail: 
dev-unsubscribe@commons.**apache.org<dev-unsubscr...@commons.apache.org>
For additional commands, e-mail: dev-h...@commons.apache.org



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

Reply via email to