Hi Alen,
I suppose so, because with your suggestion my code is finally working :)
Best regards, see you!
Simo

On Thu, Jan 7, 2010 at 12:43 PM, Alen Vrečko <[email protected]> wrote:
> Hi, Simo.
>
> You're welcome. I think you just found a bug in the documentation.
>
> convertToTypes(Matchers.only(DateTime.class), new DateTimeConverter
> ());
>
> should be
>
> convertToTypes(Matchers.only(TypeLiteral.get(DateTime.class)), new
> DateTimeConverter());
>
> or something similar.
>
> Cheers
> Alen
>
> On Jan 6, 10:27 pm, Simone Tripodi <[email protected]> wrote:
>> 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/injec...
>> 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 
>> > athttp://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.
>
>
>
>



-- 
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