Hi Alen,
thank a lot, it is nicely working :)
I got in confusion reading the javadoc here:
http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/inject/spi/TypeConverterBinding.html
Thanks once again, your help is more thank appreciated!
All the best,
Simo

On Wed, Jan 6, 2010 at 10:12 PM, Alen Vrečko <[email protected]> wrote:
> Hi,
>
> Your Matcher is wrong. You need to match TypeLiteral, but you are
> matching a Class.
>
> Change Matchers.only(URL.class) to Matchers.only(TypeLiteral.get
> (URL.class)).
>
> Alternatively you could make a utility method url and do something
> like
>
> .annotatedWith(named("url")).to(url("http://code.google.com/";));
>
> Cheers
> Alen
>
> On Jan 6, 7:37 pm, Simone Tripodi <[email protected]> wrote:
>> Hi all guys,
>> I'm just trying to use the Binder#convertToTypes to convert URLs in that way:
>>
>> @Override
>>     protected void configure() {
>>         this.binder().convertToTypes(Matchers.only(URL.class), new
>> TypeConverter {
>>
>>     public Object convert(String value, TypeLiteral<?> toType) {
>>         try {
>>             return new URL(value);
>>         } catch (URISyntaxException e) {
>>             throw new RuntimeException("String vaue '"
>>                     + value
>>                     + "' is not a valid URL", e);
>>         }
>>     }});
>>
>>     }
>>
>> then I annotate the POJO field:
>>
>> class FakeConfig {
>>
>>     @Inject
>>     @Named("url")
>>     private URL url;
>>
>>     ....
>>
>> }
>>
>> and finally in different module (it comes from a 3rd part developed
>> application):
>>
>> Injector injector = Guice.createInjector(
>>                 new AbstractModule() {
>>                     @Override
>>                     protected void configure() {
>>                         this.bindConstant()
>>                             .annotatedWith(Names.named("url"))
>>                             .to("http://code.google.com/";);
>>                     }
>>                 });
>>
>> I get the following error:
>>
>> com.google.inject.ConfigurationException: Guice configuration errors:
>>
>> 1) No implementation for java.net.URL annotated with
>> @com.google.inject.name.Named(value=url) was bound.
>>   while locating java.net.URL annotated with
>> @com.google.inject.name.Named(value=url)
>>
>> Am I misunderstanding or missing something? Thanks in advance, any
>> hint is very appreciated.
>> Best regards,
>> Simo
>>
>> --http://www.google.com/profiles/simone.tripodi
>
> --
> You received this message because you are subscribed to the Google Groups 
> "google-guice" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/google-guice?hl=en.
>
>
>
>



-- 
http://www.google.com/profiles/simone.tripodi
-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en.


Reply via email to